boostorg / boostorg/program_options

Support for <boost/std>::filesystem::path

Ouverte
#69 7 commentaires 2 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

Basically the same issue from the mailing list which is open since Boost 1.35: http://boost.2283326.n4.nabble.com/program-options-Problem-with-paths-that-have-spaces-td2576490.html

Problem: You cannot take a `*::filesystem::path` param that contains spaces.

Reason: BPO uses `lexical_casts` which uses stream extraction stopping on first whitespace

Possible solution: Special case for types having a ctor accepting a string and using that.

Related issue: https://github.com/boostorg/lexical_cast/issues/25 but won't be fixed there. Consider: `lexical_cast("\"/home/my user\"")` is considered OK but calling a program with `./foobar "\"/home/my user\""` is not OK. So this is a BPO issue

Guide de contribution

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

Piste de recherche

Commencez par l’analyse des valeurs de Boost.Program_options et lisez le rapport lié de la liste de diffusion ainsi que lexical_cast issue #25 pour connaître le comportement indiqué. Suivez la conversion des arguments de type filesystem::path, puis vérifiez que les chemins contenant des espaces sont acceptés sans modifier la gestion existante de la ligne de commande ; le payload n’indique aucun fichier source ni aucun test à exécuter.

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é
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

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