boostorg / boostorg/program_options

Long option name tokens are parsed as previous option value

Ouverte
#78 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C++
Étoiles
136
Forks
117
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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).

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par src/cmdline.cpp autour de la ligne 477 et reproduisez la ligne de commande contenant --option_with_value --known_option. Suivez la manière dont le token est transmis à find_nothrow et vérifiez que l’option longue connue est reconnue au lieu d’être consommée comme valeur de l’option chaîne précédente ; ajoutez une couverture pour le cas de l’option longue et confirmez que le comportement existant de l’option courte reste inchangé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
cli
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.