- Fixed some type problems if cmd is compiled as unicode.

- Convert a string from a file to unicode if cmd is compiled as unicode.

svn path=/trunk/; revision=5457
This commit is contained in:
Hartmut Birr 2003-08-07 09:34:16 +00:00
parent 84c6569f84
commit fe60cb4985

View file

@ -99,7 +99,7 @@ BOOL CheckCtrlBreak (INT mode)
/* we need to be sure the string arrives on the screen! */ /* we need to be sure the string arrives on the screen! */
do do
ConOutPuts (_T("\r\nCtrl-Break pressed. Cancel batch file? (Yes/No/All) ")); ConOutPuts (_T("\r\nCtrl-Break pressed. Cancel batch file? (Yes/No/All) "));
while (!_tcschr ("YNA\3", c = _totupper (cgetchar())) || !c); while (!_tcschr (_T("YNA\3"), c = _totupper (cgetchar())) || !c);
ConOutPuts (_T("\r\n")); ConOutPuts (_T("\r\n"));
@ -371,29 +371,35 @@ BOOL IsValidDirectory (LPCTSTR pszPath)
BOOL FileGetString (HANDLE hFile, LPTSTR lpBuffer, INT nBufferLength) BOOL FileGetString (HANDLE hFile, LPTSTR lpBuffer, INT nBufferLength)
{ {
LPTSTR lpString; LPSTR lpString;
TCHAR ch; CHAR ch;
DWORD dwRead; DWORD dwRead;
INT len;
#ifdef _UNICODE
lpString = alloca(nBufferLength);
#else
lpString = lpBuffer; lpString = lpBuffer;
#endif
len = 0;
while ((--nBufferLength > 0) && while ((--nBufferLength > 0) &&
ReadFile(hFile, &ch, 1, &dwRead, NULL) && dwRead) ReadFile(hFile, &ch, 1, &dwRead, NULL) && dwRead)
{ {
if (ch == _T('\r')) if (ch == '\r')
{ {
/* overread '\n' */ /* overread '\n' */
ReadFile (hFile, &ch, 1, &dwRead, NULL); ReadFile (hFile, &ch, 1, &dwRead, NULL);
break; break;
} }
*lpString++ = ch; lpString[len++] = ch;
} }
if (!dwRead && lpString == lpBuffer) if (!dwRead && !len)
return FALSE; return FALSE;
*lpString++ = _T('\0'); lpString[len++] = '\0';
#ifdef _UNICODE
MultiByteToWideChar(CP_ACP, 0, lpString, len, lpBuffer, len);
#endif
return TRUE; return TRUE;
} }
@ -410,7 +416,7 @@ HWND GetConsoleWindow (VOID)
if(h) if(h)
return h; return h;
GetConsoleTitle (original, sizeof(original)); GetConsoleTitle (original, sizeof(original) / sizeof(TCHAR));
_tcscpy (temp, original); _tcscpy (temp, original);
_tcscat (temp, _T("-xxx ")); _tcscat (temp, _T("-xxx "));
@ -435,7 +441,7 @@ INT PagePrompt (VOID)
{ {
INPUT_RECORD ir; INPUT_RECORD ir;
ConOutPrintf ("Press a key to continue...\n"); ConOutPrintf (_T("Press a key to continue...\n"));
RemoveBreakHandler (); RemoveBreakHandler ();
ConInDisable (); ConInDisable ();