• R/O
  • SSH
  • HTTPS

ttssh2: Commit


Commit MetaInfo

Revision9313 (tree)
Time2021-06-20 10:07:40
Authorzmatsuo

Log Message

locale設定を削除

- Cランタイムの文字コードの設定

- 従来Cランタイムの文字コード変換関数を使用していたため必要だった
- wctomb()
- 現在Cランタイムの文字コード変換は使用していないため不要
- OSのAPI WideCharToMultiByte(), MultiByteToWideChar() を使用

- setlocale()を削除
- 不要な locale.h の include を削除
- 設定ダイアログの locale 設定を削除

- IDC_LOCALE_LABEL 削除
- lng 内の DLG_TERM_LOCALE 削除
- ドキュメント locale 設定個所を削除

- iniファイルのlocale読み書きを削除
- r9145

Change Summary

Incremental Difference

--- trunk/doc/en/html/menu/setup-terminal_ja.html (revision 9312)
+++ trunk/doc/en/html/menu/setup-terminal_ja.html (revision 9313)
@@ -153,12 +153,6 @@
153153 </p>
154154 </dd>
155155
156- <dt id="locale">locale</dt>
157- <dd>
158- Locale setting.
159- Refer to <a href="../usage/unicode.html">Unicode</a> for details.
160- </dd>
161-
162156 </dl>
163157 </body>
164158 </html>
--- trunk/doc/en/html/menu/setup-terminal_ko.html (revision 9312)
+++ trunk/doc/en/html/menu/setup-terminal_ko.html (revision 9313)
@@ -119,12 +119,6 @@
119119 Character code that is sent from client(KS5601 and UTF-8).
120120 </dd>
121121
122- <dt id="locale">locale</dt>
123- <dd>
124- Locale setting.
125- Refer to <a href="../usage/unicode.html">Unicode</a> for details.
126- </dd>
127-
128122 </dl>
129123 </body>
130124 </html>
--- trunk/doc/en/html/menu/setup-terminal_utf8.html (revision 9312)
+++ trunk/doc/en/html/menu/setup-terminal_utf8.html (revision 9313)
@@ -119,12 +119,6 @@
119119 Character code that is sent from client(UTF-8).
120120 </dd>
121121
122- <dt id="locale">locale</dt>
123- <dd>
124- Locale setting.
125- Refer to <a href="../usage/unicode.html">Unicode</a> for details.
126- </dd>
127-
128122 </dl>
129123 </body>
130124 </html>
--- trunk/doc/en/html/setup/teraterm-ini.html (revision 9312)
+++ trunk/doc/en/html/setup/teraterm-ini.html (revision 9313)
@@ -758,12 +758,6 @@
758758 <td></td>
759759 </tr>
760760 <tr>
761- <td id="Locale">Locale</td>
762- <td style="width:250px;">*</td>
763- <td style="width:250px;">japanese</td>
764- <td>* by the installer</td>
765- </tr>
766- <tr>
767761 <td id="LocalEcho"><a href="../menu/setup-terminal.html#LocalEcho">LocalEcho</a></td>
768762 <td style="width:250px;">off</td>
769763 <td style="width:250px;">&lt;-</td>
--- trunk/doc/ja/html/menu/setup-terminal.html (revision 9312)
+++ trunk/doc/ja/html/menu/setup-terminal.html (revision 9313)
@@ -154,12 +154,6 @@
154154 </p>
155155 </dd>
156156
157- <dt id="locale">locale</dt>
158- <dd>
159- ロケール。
160- 詳細は<a href="../usage/unicode.html">Unicode設定</a>を参照。
161- </dd>
162-
163157 </dl>
164158 </body>
165159 </html>
--- trunk/doc/ja/html/menu/setup-terminal_ko.html (revision 9312)
+++ trunk/doc/ja/html/menu/setup-terminal_ko.html (revision 9313)
@@ -120,12 +120,6 @@
120120 送出する文字コード (KS5601, UTF-8 の2種類)。
121121 </dd>
122122
123- <dt id="locale">locale</dt>
124- <dd>
125- ロケール。
126- 詳細は<a href="../usage/unicode.html">Unicode設定</a>を参照。
127- </dd>
128-
129123 </dl>
130124 </body>
131125 </html>
--- trunk/doc/ja/html/menu/setup-terminal_utf8.html (revision 9312)
+++ trunk/doc/ja/html/menu/setup-terminal_utf8.html (revision 9313)
@@ -120,12 +120,6 @@
120120 送出する文字コード (UTF-8 の1種類)。
121121 </dd>
122122
123- <dt id="locale">locale</dt>
124- <dd>
125- ロケール。
126- 詳細は<a href="../usage/unicode.html">Unicode設定</a>を参照。
127- </dd>
128-
129123 </dl>
130124 </body>
131125 </html>
--- trunk/doc/ja/html/setup/teraterm-ini.html (revision 9312)
+++ trunk/doc/ja/html/setup/teraterm-ini.html (revision 9313)
@@ -764,12 +764,6 @@
764764 <td></td>
765765 </tr>
766766 <tr>
767- <td id="Locale">Locale</td>
768- <td style="width:250px;">※</td>
769- <td style="width:250px;">japanese</td>
770- <td>※インストーラによる</td>
771- </tr>
772- <tr>
773767 <td id="LocalEcho"><a href="../menu/setup-terminal.html#LocalEcho">LocalEcho</a></td>
774768 <td style="width:250px;">off</td>
775769 <td style="width:250px;">&lt;-</td>
--- trunk/teraterm/common/tttypes.h (revision 9312)
+++ trunk/teraterm/common/tttypes.h (revision 9313)
@@ -30,7 +30,6 @@
3030 /* Constants and types for Tera Term */
3131 #pragma once
3232
33-#include <locale.h>
3433 #include "teraterm.h"
3534 #include "tt-version.h"
3635 #include "../teraterm/unicode_test.h"
@@ -508,8 +507,7 @@
508507 BYTE AlphaBlendInactive;
509508 BYTE reserve_0[2]; // 未使用
510509 char CygwinDirectory[MAX_PATH];
511-#define DEFAULT_LOCALE "japanese"
512- char Locale[80];
510+ char reserve_Locale[80];
513511 int CodePage;
514512 int DuplicateSession;
515513 char ViewlogEditor[MAX_PATH];
--- trunk/teraterm/teraterm/commlib.c (revision 9312)
+++ trunk/teraterm/teraterm/commlib.c (revision 9313)
@@ -46,7 +46,6 @@
4646 #include <ws2tcpip.h>
4747 #include <stdio.h> /* for _snprintf() */
4848 #include <time.h>
49-#include <locale.h>
5049
5150 #include "filesys_log.h"
5251 #include "ttlib.h"
--- trunk/teraterm/teraterm/vtterm.c (revision 9312)
+++ trunk/teraterm/teraterm/vtterm.c (revision 9313)
@@ -368,7 +368,6 @@
368368
369369 void ResetCharSet()
370370 {
371- char *result;
372371 if (ts.Language==IdJapanese) {
373372 Gn[0] = IdASCII;
374373 Gn[1] = IdKatakana;
@@ -407,24 +406,15 @@
407406 cv.KanjiIn = ts.KanjiIn;
408407 cv.KanjiOut = ts.KanjiOut;
409408
410- // ロケールの設定
411- // wctomb のため
412- result = setlocale(LC_ALL, ts.Locale);
413- if (result == NULL) {
414- // おかしなLocale文字列がセットされている?
415- // defaultをセットしておく
416- strcpy(ts.Locale, DEFAULT_LOCALE);
417- result = setlocale(LC_ALL, ts.Locale);
418- }
419- // 英語版Windowsでは、ts.Localeがデフォルトの"japanese"だった場合、
420- // setlocaleが NULL を返すため、Tera Termの起動時に落ちる。strrchrの
421- // 第1引数にはNULLが指定できないため。
422- // setlocale に成功した時はコードページを設定し、失敗した時は
423- // ANSIコードページを設定する。
424- if (result)
425- ts.CodePage = atoi(strrchr(result, '.')+1);
426- else
427- ts.CodePage = GetACP();
409+ // ロケールの設定(削除した) TODO: 削除
410+ // 従来は wctomb()系のためにsetlocale()を使用していたが
411+ // 現在は wctomb()系は使用しなくなった。
412+ // ts.Locale[] から setlocale() の戻り値を得て
413+ // そこからコードページをts.CodePage に取得していた。
414+ //
415+ // ts.CodePage の値は cv.CodePage に引き継がれて
416+ // CommTextOut(),CommTextEcho()@ttcmn.c で使用される
417+ ts.CodePage = GetACP();
428418 }
429419
430420 void ResetKeypadMode(BOOL DisabledModeOnly)
--- trunk/teraterm/teraterm/vtwin.cpp (revision 9312)
+++ trunk/teraterm/teraterm/vtwin.cpp (revision 9313)
@@ -71,7 +71,6 @@
7171 #include <stdlib.h>
7272 #include <crtdbg.h>
7373 #include <string.h>
74-#include <locale.h>
7574 #include <io.h>
7675 #include <errno.h>
7776
@@ -475,9 +474,6 @@
475474
476475 logfile_lock_initialize();
477476 SetMouseCursor(ts.MouseCursorName);
478- // ロケールの設定
479- // wctomb のため
480- setlocale(LC_ALL, ts.Locale);
481477
482478 #ifdef ALPHABLEND_TYPE2
483479 //<!--by AKASI
--- trunk/teraterm/ttpcmn/language.c (revision 9312)
+++ trunk/teraterm/ttpcmn/language.c (revision 9313)
@@ -29,7 +29,6 @@
2929
3030 // TTCMN.DLL character code conversion
3131
32-#include <locale.h>
3332 #include "teraterm.h"
3433 #include "tttypes.h"
3534 #include "codemap.h"
--- trunk/teraterm/ttpcmn/ttcmn.c (revision 9312)
+++ trunk/teraterm/ttpcmn/ttcmn.c (revision 9313)
@@ -33,7 +33,6 @@
3333 #include <stdio.h>
3434 #include <windows.h>
3535 #include <setupapi.h>
36-#include <locale.h>
3736 #include <htmlhelp.h>
3837 #include <assert.h>
3938 #include <crtdbg.h>
--- trunk/teraterm/ttpdlg/dlg_res.h (revision 9312)
+++ trunk/teraterm/ttpdlg/dlg_res.h (revision 9313)
@@ -120,7 +120,6 @@
120120 #define IDC_HOSTTCPPROTOCOLLABEL 1019
121121 #define IDC_HOSTTCPPROTOCOL 1020
122122 #define IDC_LOCALE_BOX 1022
123-#define IDC_LOCALE_EDIT 1024
124123 #define IDC_TT_VERSION 1027
125124 #define IDC_AUTHOR_URL 1028
126125 #define IDC_FORUM_LABEL 1029
@@ -158,7 +157,6 @@
158157 #define IDC_TERMIDLABEL 1061
159158 #define IDC_TERMKANJILABEL 1062
160159 #define IDC_TERMKANJISENDLABEL 1063
161-#define IDC_LOCALE_LABEL 1064
162160 #define IDC_TERMRUSSCHARSET 1065
163161 #define IDC_TERMRUSSHOSTLABEL 1066
164162 #define IDC_TERMRUSSCLIENTLABEL 1067
--- trunk/teraterm/ttpdlg/ttdlg.c (revision 9312)
+++ trunk/teraterm/ttpdlg/ttdlg.c (revision 9313)
@@ -204,7 +204,6 @@
204204 { IDC_TERMKANASEND, "DLG_TERM_KANASEND" },
205205 { IDC_TERMKINTEXT, "DLG_TERM_KIN" },
206206 { IDC_TERMKOUTTEXT, "DLG_TERM_KOUT" },
207- { IDC_LOCALE_LABEL, "DLG_TERM_LOCALE" },
208207 };
209208 SetDlgTexts(Dialog, TextInfosJp, _countof(TextInfosJp), UILanguageFile);
210209 }
@@ -221,7 +220,6 @@
221220 static const DlgTextInfo TextInfosKo[] = {
222221 { IDC_TERMKANJILABEL, "DLG_TERMK_KANJI" },
223222 { IDC_TERMKANJISENDLABEL, "DLG_TERMK_KANJISEND" },
224- { IDC_LOCALE_LABEL, "DLG_TERM_LOCALE" },
225223 };
226224 SetDlgTexts(Dialog, TextInfosKo, _countof(TextInfosKo), UILanguageFile);
227225 }
@@ -287,10 +285,6 @@
287285 else {
288286 SetDropDownList(Dialog,IDC_TERMKOUT,KanjiOutList,ts->KanjiOut);
289287 }
290-
291- // ロケール用テキストボックス
292- SetDlgItemText(Dialog, IDC_LOCALE_EDIT, ts->Locale);
293- SendDlgItemMessage(Dialog, IDC_LOCALE_EDIT, EM_LIMITTEXT, sizeof(ts->Locale), 0);
294288 }
295289 else if (ts->Language==IdRussian) {
296290 SetDropDownList(Dialog,IDC_TERMRUSSHOST,RussList,ts->RussHost);
@@ -304,18 +298,10 @@
304298 else if (ts->Language==IdKorean) { // HKS
305299 SetDropDownList(Dialog, IDC_TERMKANJI, KoreanList, KanjiCode2List(ts->Language,ts->KanjiCode));
306300 SetDropDownList(Dialog, IDC_TERMKANJISEND, KoreanListSend, KanjiCode2List(ts->Language,ts->KanjiCodeSend));
307-
308- // ロケール用テキストボックス
309- SetDlgItemText(Dialog, IDC_LOCALE_EDIT, ts->Locale);
310- SendDlgItemMessage(Dialog, IDC_LOCALE_EDIT, EM_LIMITTEXT, sizeof(ts->Locale), 0);
311301 }
312302 else if (ts->Language==IdUtf8) {
313303 SetDropDownList(Dialog, IDC_TERMKANJI, Utf8List, KanjiCode2List(ts->Language,ts->KanjiCode));
314304 SetDropDownList(Dialog, IDC_TERMKANJISEND, Utf8ListSend, KanjiCode2List(ts->Language,ts->KanjiCodeSend));
315-
316- // ロケール用テキストボックス
317- SetDlgItemText(Dialog, IDC_LOCALE_EDIT, ts->Locale);
318- SendDlgItemMessage(Dialog, IDC_LOCALE_EDIT, EM_LIMITTEXT, sizeof(ts->Locale), 0);
319305 }
320306 CenterWindow(Dialog, GetParent(Dialog));
321307 return TRUE;
@@ -392,8 +378,6 @@
392378 if ((w = (WORD)GetCurSel(Dialog, IDC_TERMKOUT)) > 0) {
393379 ts->KanjiOut = w;
394380 }
395-
396- GetDlgItemText(Dialog, IDC_LOCALE_EDIT, ts->Locale, sizeof(ts->Locale));
397381 }
398382 else if (ts->Language==IdRussian) {
399383 if ((w = (WORD)GetCurSel(Dialog, IDC_TERMRUSSHOST)) > 0) {
@@ -419,8 +403,6 @@
419403 ts->JIS7Katakana=0;
420404 ts->KanjiIn = 0;
421405 ts->KanjiOut = 0;
422-
423- GetDlgItemText(Dialog, IDC_LOCALE_EDIT, ts->Locale, sizeof(ts->Locale));
424406 }
425407
426408 }
--- trunk/teraterm/ttpset/ttset.c (revision 9312)
+++ trunk/teraterm/ttpset/ttset.c (revision 9313)
@@ -1898,11 +1898,6 @@
18981898 GetPrivateProfileString(Section, "ViewlogEditor ", Temp,
18991899 ts->ViewlogEditor, sizeof(ts->ViewlogEditor), FName);
19001900
1901- // Locale for UTF-8
1902- GetPrivateProfileString(Section, "Locale ", DEFAULT_LOCALE,
1903- Temp, sizeof(Temp), FName);
1904- strncpy_s(ts->Locale, sizeof(ts->Locale), Temp, _TRUNCATE);
1905-
19061901 // UI language message file (相対パス)
19071902 hGetPrivateProfileStringW(SectionW, L"UILanguageFile", NULL, FName, &ts->UILanguageFileW_ini);
19081903 if (ts->UILanguageFileW_ini == NULL) {
@@ -2637,7 +2632,6 @@
26372632 ts->CygwinDirectory, FName);
26382633 WritePrivateProfileString(Section, "ViewlogEditor", ts->ViewlogEditor,
26392634 FName);
2640- WritePrivateProfileString(Section, "Locale", ts->Locale, FName);
26412635
26422636 // ANSI color(2004.9.5 yutaka)
26432637 Temp[0] = '\0';
Show on old repository browser