shlwapi: Use CharNextA to iterate through characters in PathAddBackslashA. Fixes problems with MBCS paths.

This commit is contained in:
Juan Lang 2008-07-25 11:16:54 -07:00 committed by Alexandre Julliard
parent 53320cfc63
commit 87c3df1578
1 changed files with 9 additions and 4 deletions

View File

@ -235,6 +235,7 @@ LPWSTR WINAPI PathCombineW(LPWSTR lpszDest, LPCWSTR lpszDir, LPCWSTR lpszFile)
LPSTR WINAPI PathAddBackslashA(LPSTR lpszPath)
{
size_t iLen;
LPSTR prev = lpszPath;
TRACE("(%s)\n",debugstr_a(lpszPath));
@ -243,11 +244,15 @@ LPSTR WINAPI PathAddBackslashA(LPSTR lpszPath)
if (iLen)
{
lpszPath += iLen;
if (lpszPath[-1] != '\\')
do {
lpszPath = CharNextA(prev);
if (*lpszPath)
prev = lpszPath;
} while (*lpszPath);
if (*prev != '\\')
{
*lpszPath++ = '\\';
*lpszPath = '\0';
*lpszPath++ = '\\';
*lpszPath = '\0';
}
}
return lpszPath;