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\x91p\x83X\x81A\x8E\xC0\x8Ds\x83t\x83@\x83C\x83\x8B\x83t\x83H\x83\x8B\x83_\x82\xA9\x82\xE7\x90\xE2\x91p\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\x91p\x83X + hGetFullPathNameW(UILanguageFileRel, &fullpath, NULL); + } return fullpath; } @@ -1150,7 +1157,11 @@ /** * path\x82\xAA\x91\x8A\x91p\x83X\x82\xA9\x82ǂ\xA4\x82\xA9\x82\xF0\x95Ԃ\xB7 - * TODO "\path\path" \x82\xCD \x91\x8A\x91p\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\x91p\x83X? + * - "a:path" \x82͑\x8A\x91p\x83X? + * - "a:\path" \x82͐\xE2\x91p\x83X + * - "\\path\path" \x82͐\xE2\x91p\x83X */ BOOL IsRelativePathW(const wchar_t *path) {