CDlgInput1で文字列長はNUL終端を含まない長さを指定するはずが1文字多いところがあるのを修正 #1589
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR の目的
タイトルの通り、1行入力ダイアログのいくつかの画面に、1文字分長い文字列制限値を指定しているため、入力画面で限界まで文字を入れると、落ちたり落ちなかったり、動作不良だったり、ちょっと不健康です。
このPRでは、不具合として修正します。
カテゴリ
PR の背景
異常終了、不安定な動作はなるべく直したいです。
PR のメリット
バグが減ります。
PR のデメリット (トレードオフとかあれば)
特にありません。
仕様・動作説明
履歴ダイアログの「検索」などの文字列はダブルクリックか右クリックで「編集」できます。
同、左下の「追加」や右メニューの「新規追加」でも入力画面が出ます。
同じような感じで、プロファイルマネージャの新規作成、名前変更があります。
ファイルツリー設定画面の「パスの一括置換」も同上です。
印刷プレビューのページ番号の「...」の直接指定のダイアログもです。
以上が、1文字多くなっていたところです。
なおCDlgPrintSettingのCDlgInput1の変数は未使用だったので削除しました。
PR の影響範囲
上記、ダイアログの入力可能文字数が1文字減ります。
テスト内容
手順
元のコードベースで実行し、履歴ダイアログで新規追加はMAX文字入力すると、履歴に追加されません。
PRのコード修正を適用すると、MAX文字(前より1文字少ない)でも追加されます。
テスト1
結合テスト的なものなので、単体テストは書くのが難しいため、ありません。
サクラエディタを実行し、各ダイアログ上を操作して、正常動作するか確認します。
関連 issue, PR
参考資料