#include <stdio.h>
#include <wchar.h>
#include <assert.h>
+#include <locale.h>
#include "doskey.h"
#define MAX_STRING 2000
LPWSTR pszExeName = L"cmd.exe";
/* Function pointers */
-typedef DWORD (WINAPI *GetConsoleCommandHistoryW_t) (LPWSTR sCommands, DWORD nBufferLength, LPWSTR sExeName);
+typedef DWORD (WINAPI *GetConsoleCommandHistoryW_t) (LPWSTR sCommands, DWORD nBufferLength, LPWSTR sExeName);
typedef DWORD (WINAPI *GetConsoleCommandHistoryLengthW_t) (LPWSTR sExeName);
typedef BOOL (WINAPI *SetConsoleNumberOfCommandsW_t)(DWORD nNumber, LPWSTR sExeName);
typedef VOID (WINAPI *ExpungeConsoleCommandHistoryW_t)(LPWSTR sExeName);
return;
}
- while ( fgetws(line, MAX_PATH, fp) != NULL)
+ while ( fgetws(line, MAX_PATH, fp) != NULL)
{
/* Remove newline character */
WCHAR *end = &line[wcslen(line) - 1];
int
wmain(VOID)
{
+ WCHAR *pArgStart;
+ WCHAR *pArgEnd;
+ HMODULE hKernel32;
+
+ setlocale(LC_ALL, "");
+
/* Get the full command line using GetCommandLine(). We can't just use argv,
* because then a parameter like "gotoroot=cd \" wouldn't be passed completely. */
- WCHAR *pArgStart;
- WCHAR *pArgEnd = GetCommandLine();
- HMODULE hKernel32 = LoadLibraryW(L"kernel32.dll");
+ pArgEnd = GetCommandLine();
+ hKernel32 = LoadLibraryW(L"kernel32.dll");
/* Get function pointers */
pGetConsoleCommandHistoryW = (GetConsoleCommandHistoryW_t)GetProcAddress( hKernel32, "GetConsoleCommandHistoryW");
pExpungeConsoleCommandHistoryW = (ExpungeConsoleCommandHistoryW_t)GetProcAddress( hKernel32, "ExpungeConsoleCommandHistoryW");
assert(pGetConsoleCommandHistoryW && pGetConsoleCommandHistoryLengthW &&
- pSetConsoleNumberOfCommandsW && pSetConsoleNumberOfCommandsW);
+ pSetConsoleNumberOfCommandsW && pExpungeConsoleCommandHistoryW);
/* Skip the application name */
GetArg(&pArgStart, &pArgEnd);