- hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
- if ((GetFileType(hOutput) & ~FILE_TYPE_REMOTE) == FILE_TYPE_CHAR)
- {
- WriteConsoleW(hOutput,
- lpString,
- dwLength,
- &dwLength,
- NULL);
- }
- else
+ SetConsoleMode(hFile, ENABLE_LINE_INPUT | (bEcho ? ENABLE_ECHO_INPUT : 0));
+
+ ReadFile(hFile, (PVOID)pBuf, dwLength - 1, &dwRead, NULL);
+
+ MultiByteToWideChar(CP_OEMCP, 0, pBuf, dwRead, lpInput, dwLength - 1);
+ HeapFree(GetProcessHeap(), 0, pBuf);
+
+ for (p = lpInput; *p; p++)