LPCSTR pMultiLimit;\r
LPWSTR pWideLimit;\r
DWORD Code;\r
+ int TempCount;\r
WCHAR Temp[8];\r
if(CodePage != CP_UTF8 || dwFlags != 0)\r
return MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, lpWideCharStr, cchWideChar);\r
continue;\r
if(lpWideCharStr)\r
{\r
- WideCount += PutNextCharW(lpWideCharStr, pWideLimit, &lpWideCharStr, Code);\r
- if(lpWideCharStr >= pWideLimit)\r
+ TempCount = PutNextCharW(lpWideCharStr, pWideLimit, &lpWideCharStr, Code);\r
+ WideCount += TempCount;\r
+ if(TempCount == 0 && lpWideCharStr >= pWideLimit)\r
{\r
WideCount = 0;\r
break;\r
LPCWSTR pWideLimit;\r
LPSTR pMultiLimit;\r
DWORD Code;\r
+ int TempCount;\r
CHAR Temp[8];\r
if(CodePage != CP_UTF8 || dwFlags != 0)\r
return WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, lpMultiByteStr, cbMultiByte, lpDefaultChar, lpUsedDefaultChar);\r
continue;\r
if(lpMultiByteStr)\r
{\r
- MultiCount += PutNextCharM(lpMultiByteStr, pMultiLimit, &lpMultiByteStr, Code);\r
- if(lpMultiByteStr >= pMultiLimit)\r
+ TempCount = PutNextCharM(lpMultiByteStr, pMultiLimit, &lpMultiByteStr, Code);\r
+ MultiCount += TempCount;\r
+ if(TempCount == 0 && lpMultiByteStr >= pMultiLimit)\r
{\r
MultiCount = 0;\r
break;\r