[ttssh2-commit] [10980] TERATERM.INI の UILanguageFile に絶対パス指定を可能にした

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2023年 10月 9日 (月) 23:51:00 JST


Revision: 10980
          https://osdn.net/projects/ttssh2/scm/svn/commits/10980
Author:   zmatsuo
Date:     2023-10-09 23:51:00 +0900 (Mon, 09 Oct 2023)
Log Message:
-----------
TERATERM.INI の UILanguageFile に絶対パス指定を可能にした

- UILanguageFile=c:\tmp\Japanese.lng など
- 相対パスのとき、tterampro.exe のパスからの相対パス
  - UILanguageFile=lang_utf16le\Japanese.lng など
- Tera Term 4 では絶対パス指定可能
  - ただし相対パスはカレントフォルダからの相対パス

Modified Paths:
--------------
    trunk/teraterm/common/ttlib_static_cpp.cpp

-------------- next part --------------
Modified: trunk/teraterm/common/ttlib_static_cpp.cpp
===================================================================
--- trunk/teraterm/common/ttlib_static_cpp.cpp	2023-10-09 13:07:25 UTC (rev 10979)
+++ trunk/teraterm/common/ttlib_static_cpp.cpp	2023-10-09 14:51:00 UTC (rev 10980)
@@ -891,13 +891,20 @@
 wchar_t *GetUILanguageFileFullW(const wchar_t *ExeDir, const wchar_t *UILanguageFileRel)
 {
 	wchar_t *fullpath;
-	size_t size = wcslen(ExeDir) + 1 + wcslen(UILanguageFileRel) + 1;
-	wchar_t *rel = (wchar_t *)malloc(sizeof(wchar_t) * size);
-	wcscpy_s(rel, size, ExeDir);
-	wcscat_s(rel, size, L"\\");
-	wcscat_s(rel, size, UILanguageFileRel);
-	hGetFullPathNameW(rel, &fullpath, NULL);
-	free(rel);
+	if (IsRelativePathW(UILanguageFileRel)) {
+		// \x91\x8A\x91΃p\x83X\x81A\x8E\xC0\x8Ds\x83t\x83@\x83C\x83\x8B\x83t\x83H\x83\x8B\x83_\x82\xA9\x82\xE7\x90\xE2\x91΃p\x83X\x82\xF0\x8D\xEC\x82\xE9
+		size_t size = wcslen(ExeDir) + 1 + wcslen(UILanguageFileRel) + 1;
+		wchar_t *rel = (wchar_t *)malloc(sizeof(wchar_t) * size);
+		wcscpy_s(rel, size, ExeDir);
+		wcscat_s(rel, size, L"\\");
+		wcscat_s(rel, size, UILanguageFileRel);
+		hGetFullPathNameW(rel, &fullpath, NULL);
+		free(rel);
+	}
+	else {
+		// \x90\xE2\x91΃p\x83X
+		hGetFullPathNameW(UILanguageFileRel, &fullpath, NULL);
+	}
 	return fullpath;
 }
 
@@ -1150,7 +1157,11 @@
 
 /**
  *	path\x82\xAA\x91\x8A\x91΃p\x83X\x82\xA9\x82ǂ\xA4\x82\xA9\x82\xF0\x95Ԃ\xB7
- *		TODO "\path\path" \x82\xCD \x91\x8A\x91΃p\x83X\x82ł͂Ȃ\xA2\x82̂ł͂Ȃ\xA2\x82\xA9?
+ *		TODO
+ *			- "\path\path" ("c:\path"\x82Ȃǃh\x83\x89\x83C\x83u\x82\xAA\x82Ȃ\xA2\x8Fꍇ)\x82͑\x8A\x91΃p\x83X?
+ *			- "a:path" \x82͑\x8A\x91΃p\x83X?
+ *			- "a:\path" \x82͐\xE2\x91΃p\x83X
+ *			- "\\path\path" \x82͐\xE2\x91΃p\x83X
  */
 BOOL IsRelativePathW(const wchar_t *path)
 {


ttssh2-commit メーリングリストの案内
Back to archive index