boostorg / boostorg/program_options
Support for <boost/std>::filesystem::path
- Vorherrschende Sprache
- C++
- Sterne
- 136
- Forks
- 117
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Start with Boost.Program_options value parsing and read the linked mailing-list report plus lexical_cast issue #25 for the stated behavior. Trace how filesystem::path arguments are converted, then verify that paths containing spaces are accepted without changing the existing command-line handling; the payload names no source file or test to run.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp
- Bereich
- cli
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100