チケット #48167

マクロ getpassword で Esc キーを押下したときの挙動がおかしい

登録: 2023-06-06 12:12 最終更新: 2023-07-02 22:02

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし
投票
点数: 0
No votes
0.0% (0/0)
0.0% (0/0)

詳細

Tera Term Ver.4.106 (SVN# 9298) を使用しています。
マクロの getpassword でダイアログが表示された場合の挙動に問題があるようです。

getpassword でダイアログが表示されたときに Esc キーでダイアログを閉じることができます。 このとき、第3引数で指定した変数の内容が変化しますが、内容が不定なようです。 画面で指定した文字列が入るわけではないようです。空白が1文字入る場合もありますし、文字化けしたような文字列が格納される場合もあります。 想像ですが、Esc キーでダイアログが閉じられてパスワード入力のコントロールが消滅した後に、ダイアログ内の文字列を取得しているのではないでしょうか。 そして、そのままパスワードファイルに書き込んでいるのではないでしょうか。

Esc キーでダイアログを閉じたときは、第3引数で指定した変数の内容は変更しないほうがよいと思います。パスワードファイルにも書き込まないほうが良いと思います。

以下、試した時のマクロ内容です。

  1. pwFile = 'C:\temp\password.dat'
  2. :retry
  3. delpassword pwFile 'test'
  4. password = ''
  5. getpassword pwFile 'test' password
  6. gpRes = result
  7. strcompare password 'end'
  8. if result = 0 end
  9. sprintf2 msg 'result = [%d]\npassword = [%s]' gpRes password
  10. strspecial msg
  11. messagebox msg 'TEST'
  12. goto retry

チケットの履歴 (7 件中 3 件表示)

2023-06-06 12:12 更新者: imabeppu
  • 新しいチケット "マクロ getpassword で Esc キーを押下したときの挙動がおかしい" が作成されました
2023-06-06 14:16 更新者: nmaya
  • 担当者(未割り当て) から nmaya に更新されました
  • 解決法なし から 受領 に更新されました
  • マイルストーン(未割り当て) から Tera Term 4.107 & 5.0 に更新されました
2023-06-07 01:26 更新者: nmaya
  • 解決法受領 から 修正済み に更新されました
コメント

対応しました。

2023-06-26 10:45 更新者: imabeppu
コメント

修正内容を見ました。

コンパイルオプションまで確認していませんので、実際は問題ないかもしれませんが、気になる点がありました。 以下のようなことは起きないでしょうか。


※ttl_gui.cpp (リビジョン 10743 を確認)

  • 220行目で input_string を宣言。初期化を行っていないので内容は不定。
  • 222行目で OpenInpDlg() を呼び出し。第1引数に input_string を渡す。
  • パスワード入力ダイアログ Esc キーを押下した場合、CInpDlg::OnOK() は呼び出されないので input_string の内容は変更なし。不定のまま。
  • 223行目で内容が不定な input_stringWideCharToUTF8() で変換。
  • 224行目で「if (Temp2[0]!=0)」という判定を行っているが、内容が不定なので Esc キー押下時も条件が成り立つ可能性がある。

できれば、OpenInpDlg() の戻り値で Esc キーを押下したかどうかが判断できるようにし、その値をもとに処理を切り分けたほうがよいと思います。

変更を最小限にするのならば、220行目で input_string を宣言するときに、初期化しておくことでも解決すると思います。

  1. wchar_t input_string[MaxStrLen] = {};

以上、ご確認ください。

(編集済, 2023-06-27 12:45 更新者: imabeppu)
2023-06-27 23:22 更新者: nmaya
コメント

ありがとうございます。対応してみました。

2023-06-28 10:32 更新者: imabeppu
コメント

対応ありがとうございます。次バージョンが楽しみです。

2023-07-02 22:02 更新者: nmaya
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする