boostorg / boostorg/program_options

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

オープン
#69 コメント 7 件 リアクション 2 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。