Revision: 8963 https://osdn.net/projects/ttssh2/scm/svn/commits/8963 Author: zmatsuo Date: 2020-11-01 02:21:17 +0900 (Sun, 01 Nov 2020) Log Message: ----------- layer_for_unicode の _GetFullPathNameW() の仕様を修正 - GetFullPathNameW() の動作にあわせた Modified Paths: -------------- trunk/teraterm/common/layer_for_unicode.cpp -------------- next part -------------- Modified: trunk/teraterm/common/layer_for_unicode.cpp =================================================================== --- trunk/teraterm/common/layer_for_unicode.cpp 2020-10-31 17:21:06 UTC (rev 8962) +++ trunk/teraterm/common/layer_for_unicode.cpp 2020-10-31 17:21:17 UTC (rev 8963) @@ -831,10 +831,16 @@ return 0; } wchar_t *bufW = ToWcharA(bufA); - r = (DWORD)wcslen(bufW); // \x95K\x97v\x82ȃo\x83b\x83t\x83@\x83T\x83C\x83Y\x82\xF0\x95Ԃ\xB7('\0'\x8A܂܂Ȃ\xA2) - wcsncpy_s(lpBuffer, nBufferLength, bufW, _TRUNCATE); - if (lpFilePart != NULL) { - *lpFilePart = lpBuffer + (filepartA - filenameA) * sizeof(wchar_t); + r = (DWORD)wcslen(bufW); + if (nBufferLength == 0 || lpBuffer == NULL) { + // \x95K\x97v\x82ȕ\xB6\x8E\x9A\x90\x94\x82\xF0\x95Ԃ\xB7('\0'\x8A܂\xDE) + r = r + 1; + } else { + // \x83p\x83X\x82\xF0\x83R\x83s\x81[\x82\xB5\x82āA\x95\xB6\x8E\x9A\x97\xF0\x95Ԃ\xB7('\0'\x8A܂܂Ȃ\xA2) + wcsncpy_s(lpBuffer, nBufferLength, bufW, _TRUNCATE); + if (lpFilePart != NULL) { + *lpFilePart = lpBuffer + (filepartA - filenameA) * sizeof(wchar_t); + } } free(filenameA); free(bufW);