チケット #46514

SCP ファイル送信で、元ファイル名と異なるファイル名で保存される

登録: 2023-01-13 22:43 最終更新: 2023-07-02 21:50

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

詳細

SCP 送信で、送信先の保存ファイル名に、転送元でファイルがあったフォルダ名が含まれることがある。

手元に C:\Users\maya\見積\hoge.txt がある
手元のエクスプローラで C:\Users\maya\見積 を開く
hoge.txt を VTWindow にドラッグ&ドロップする
ファイルをどう処理するかのダイアログが出る
「SCP」を選択してOKを押す
ファイルが転送される
転送先のファイル名が '見積\hoge.txt' になる

  • trunk r10458 で発生
  • 4.106 では発生しない

ファイルのあるフォルダ名が hoge のときには 'hoge/hoge.txt' とはならない。フォルダ名に日本語が含まれる場合に起きる?

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

2023-01-13 22:43 更新者: nmaya
  • 新しいチケット "SCP ファイル送信で、送信先のファイル名にフォルダ名が含まれる" が作成されました
2023-01-13 23:01 更新者: nmaya
2023-01-14 09:01 更新者: nmaya
  • 詳細が更新されました
  • 概要が更新されました
コメント
  • SendScp() の中で ToU8W() を呼んで行っているファイル名の変換が正しくない
  • SSH_scp_transaction() の中で呼んでいる ExtractFileName() で basename 相当のことをしているが、ExtractFileName() は UTF-8 文字列に対しては正しく動作しない

のどちらかな気がします。

2023-01-15 15:45 更新者: zmatsuo
コメント

SSH_scp_transaction() の中で呼んでいる ExtractFileName() で basename 相当のことをしているが、ExtractFileName() は UTF-8 文字列に対しては正しく動作しない

として修正しました。r10492です。

私の中でssh内ではファイル名の扱いが ACP と UTF-8 が混ざっているように 感じていて見切れていないです。

char8_t に直すのがベストだと思うのですが、いろいろ修正が発生しそう。 とりあえずコメントで UTF-8 と入れておきました。

r10493 で teraterm/scp.cpp,h は wchar_t に変更しました。

2023-01-21 01:02 更新者: nmaya
  • 解決法なし から 修正済み に更新されました
コメント

修正を確認しました。ありがとうございます。

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

添付ファイルリスト

編集

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