Ticket #45641

PCreateFile() 関数の引数の不定要素を排除してほしい

Date d'ouverture: 2022-09-11 22:00 Dernière mise à jour: 2022-10-03 23:56

Rapporteur:
Propriétaire:
État:
Atteints
Composant:
Priorité:
5 - moyen
Sévérité:
5 - moyen
Résolution:
Fixed
Fichier:
Aucun
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Détails

プラグインでフックできる TTXFileHooks.PCreateFile の定義は、以下である。

typedef HANDLE (PASCAL *TCreateFile)

(LPCTSTR FName, DWORD AcMode, DWORD ShMode, LPSECURITY_ATTRIBUTES SecAttr,
DWORD CreateDisposition, DWORD FileAttr, HANDLE Template);

FName の型は、 LPCTSTR となっている。

LPCTSTR は、const char * に変換されるか const wchar_t * に変換されるかビルドオプションによる。 現状は、 const char* に変換される。

可能なら、どちらかに固定化してほしい。

確認: trunk/r10245

Ticket History (3/7 Histories)

2022-09-11 22:00 Updated by: tomo3136
  • New Ticket "PCreateFile() 関数の引数の不定要素を排除してほしい" created
2022-09-25 00:57 Updated by: zmatsuo
Commentaire

修正しました。

r10289 です。

2022-09-25 09:57 Updated by: tomo3136
Commentaire

修正ありがとうございます。

一応確認。PCreateFile() 関数の、引数 FName は、Unicode化の対象外でしょうか。

プラグイン呼び出し時にコード的に固定されていないと扱いにくいと思いチケットを登録しましたが、

自分は、この関数の引数 FName で何かをしたことはなく、char* がいいのか wchar_t* がいいのかは わかっておりません。

Unicode化の対象なら、commlib.c のPCreateFile() 関数の呼び出し箇所3か所前で、Unicode化し、

PCreateFile() 関数処理後割り当てメモリを破棄すればいいように思えますがいかがでしょうか。

2022-09-27 23:44 Updated by: zmatsuo
Commentaire

デバイスファイル名(\\.\COM%d のようなファイル)だったら よさそうと思ったのですが、ログファイル名を引数に取るなら Unicode化したほうがよさそうです。

まだこのあたりの動作はよく見ていなくて、 どうするのがよさそうかまだ見えていません。

Unicode化は後回しにさせてもらって、とりあえず、不定要素を排除できたと いうことでこのチケットをクローズしようかと思います。

2022-09-29 22:31 Updated by: tomo3136
Commentaire

わかりました。とりあえず ASCII/MBCS で進めます。

Teraterm 5.0 が正式リリースされてから Unicode化する場合は、 ts->RunningVersion か、TTXBind() のバージョン引数で認識できれば良いかと思います。

2022-09-29 22:51 Updated by: tomo3136
Commentaire

trunk/r10289 で UNICODE 設定でビルドしても、しなくても PCreateFile() の引数FNameは char* として認識されることを確認しました。

2022-10-03 23:56 Updated by: zmatsuo
  • État Update from Ouvert to Atteints
  • Propriétaire Update from (Aucun) to zmatsuo
  • Résolution Update from Aucun to Fixed
  • Composant Update from (Aucun) to Tera Term
Commentaire

確認ありがとうございます。

クローズします。

忘れないようPluginのRemindsチケットを作りました。#45765

Attachment File List

No attachments

Modifier

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Connexion