diff --git a/reactos/base/shell/cmd/cmd.c b/reactos/base/shell/cmd/cmd.c index eade016ee70..eefffa61fa8 100644 --- a/reactos/base/shell/cmd/cmd.c +++ b/reactos/base/shell/cmd/cmd.c @@ -1465,7 +1465,7 @@ ProcessInput (BOOL bFlag) } } - if (_istcntrl (*ip)) + if (*ip != _T('\0') && (_istcntrl (*ip))) *ip = _T(' '); *cp++ = *ip++; diff --git a/reactos/base/shell/cmd/misc.c b/reactos/base/shell/cmd/misc.c index 4b4e8edbf28..f88983d8f20 100644 --- a/reactos/base/shell/cmd/misc.c +++ b/reactos/base/shell/cmd/misc.c @@ -454,13 +454,12 @@ BOOL FileGetString (HANDLE hFile, LPTSTR lpBuffer, INT nBufferLength) LPSTR lpString; CHAR ch; DWORD dwRead; - INT len; + INT len = 0; #ifdef _UNICODE lpString = cmd_alloc(nBufferLength); #else lpString = lpBuffer; #endif - len = 0; while ((--nBufferLength > 0) && ReadFile(hFile, &ch, 1, &dwRead, NULL) && dwRead) { @@ -482,7 +481,7 @@ BOOL FileGetString (HANDLE hFile, LPTSTR lpBuffer, INT nBufferLength) lpString[len++] = _T('\0'); #ifdef _UNICODE - MultiByteToWideChar(CP_ACP, 0, lpString, len, lpBuffer, len); + MultiByteToWideChar(CP_ACP, 0, lpString, -1, lpBuffer, len); cmd_free(lpString); #endif return TRUE;