Quantcast
Channel: All Open Tickets - Tera Term on OSDN
Viewing all articles
Browse latest Browse all 2128

ログデフォルトファイル名に strftime が正しく置換されない - Tera Term Ticket #46476 on OSDN

$
0
0

ログデフォルトファイル名に strftime が正しく置換されない

Eröffnet am: 2023-01-07 14:23

Letztes Update: 2023-01-18 22:34

Auswertung:tomo3136Verantwortlicher:(Keine)
Priorität:5 - MittelMeilenstein:Tera Term 5.0
Typ:FehlerSchweregrad:5 - Mittel
Komponente:Tera TermStatus:Offen
LösungKeine

Einzelheiten

ログデフォルトファイル名に strftime 文字列で指定した場合、置換は行われるが、地域に合った文字列に置換されない。

teraterm/teraterm/terater.cpp の WinMain() でロケールクリアすれば正しく置換される。(コントロールパネル「言語と地域設定」の設定が使われる)

setlocale(LC_ALL, "");

以下の環境で行っています。(win11 でビルドしているけど vs2022 にあげてないからかも)

実行環境:Windows 11 Home 22H2 22621.963

ビルド環境:Visual Studio 2019 Community/Windows SDK version 10.0.17763.0/cmake version 3.25.0-rc1

Letzte Aktualisierung für dieses Ticket

2023-01-18 22:34 Aktualisiert von: zmatsuo

Kommentar

Tera Term 4 はプログラム内で

setlocale(LC_ALL, ts.Locale)
とやっているので環境変数の影響は受けないのではないかと思います。

ハングアップするのは腑に落ちないですね。

Tera Term 5 は setlocale()を行っていません。

起動時に setlocale(LC_ALL, "C") と同等な処理が行われるようです。

https://learn.microsoft.com/ja-jp/cpp/c-runtime-library/reference/setlocale-wsetlocale?view=msvc-170

ロケールクリアすれば正しく置換される。

Tera Term 5 の起動最初の方で

setlocale(LC_ALL, "")
を実行しておいた方がよさそうですね。

入れようと思いますが、 特に問題なさそうですか?


Viewing all articles
Browse latest Browse all 2128