[Ttssh2-commit] [8963] layer_for_unicode の _GetFullPathNameW() の仕様を修正

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2020年 11月 1日 (日) 02:21:18 JST


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);


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