boostorg / boostorg/program_options

Long option name tokens are parsed as previous option value

Offen
#78 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.