boostorg / boostorg/program_options

Long option name tokens are parsed as previous option value

オープン
#78 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C++
スター
136
フォーク
117
PR マージ指標
30日以内にマージされた PR はありません

説明

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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

src/cmdline.cpp の 477 行目付近から始め、--option_with_value --known_option を含むコマンドラインを再現します。トークンが find_nothrow に渡される過程を追跡し、既知の long option が前の string option の値として消費されずに認識されることを確認します。long-option のケースのカバレッジを追加し、既存の short-option の動作が変わらないことを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp
領域
cli
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

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

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