boostorg / boostorg/program_options
Long option name tokens are parsed as previous option value
- Vorherrschende Sprache
- C++
- Sterne
- 136
- Forks
- 117
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
https://github.com/boostorg/program_options/blob/d95d31684832075fda04c9fc916f8ec875552763/src/cmdline.cpp#L477
If long option follows an option with (string) value, it is parsed as value instead of known option. For example in command line "--option_with_value --known_option", option_with_value will have value equal to "--known_option". This issue does not occur if following option is in short format.
As I understand the code, find_nothrow in referenced file is given token with leading dashes instead of option's string_key (or name).
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginnen Sie mit src/cmdline.cpp um Zeile 477 und reproduzieren Sie die Befehlszeile, die --option_with_value --known_option enthält. Verfolgen Sie, wie das Token an find_nothrow übergeben wird, und überprüfen Sie, dass die bekannte lange Option erkannt wird, anstatt als Wert der vorherigen String-Option verbraucht zu werden; fügen Sie eine Abdeckung für den Fall mit der langen Option hinzu und bestätigen Sie, dass das bestehende Verhalten der kurzen Option unverändert bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp
- Bereich
- cli
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100