boostorg / boostorg/program_options
Support for <boost/std>::filesystem::path
- 主要言語
- C++
- スター
- 136
- フォーク
- 117
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
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
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
Boost.Program_options の値の解析から始め、記載された動作について、リンク先のメーリングリストの報告と lexical_cast issue #25 を読んでください。filesystem::path 型の引数がどのように変換されるかを追跡し、その後、既存のコマンドライン処理を変更せずに、スペースを含むパスが受け入れられることを確認してください。payload には、実行するソースファイルやテストの指定はありません。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- cpp
- 領域
- cli
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 38/100