diff --git a/reactos/base/applications/cmdutils/doskey/doskey.c b/reactos/base/applications/cmdutils/doskey/doskey.c index 29c37fe3a78..88abe9b6662 100644 --- a/reactos/base/applications/cmdutils/doskey/doskey.c +++ b/reactos/base/applications/cmdutils/doskey/doskey.c @@ -37,7 +37,7 @@ PrintAlias (VOID) { while (*Aliases != '\0') { - printf(_T("%s\n"), Aliases); + _tprintf(_T("%s\n"), Aliases); Aliases = Aliases + lstrlen(Aliases); Aliases++; } @@ -49,23 +49,26 @@ INT SetMacro (LPTSTR param) { LPTSTR ptr; - while (*param == ' ') + while (*param == _T(' ')) param++; /* error if no '=' found */ if ((ptr = _tcschr (param, _T('='))) == 0) - { return 1; - } - while (*param == ' ') + while (*param == _T(' ')) param++; + while (*ptr == _T(' ')) + ptr--; + /* Split rest into name and substitute */ *ptr++ = _T('\0'); partstrlwr (param); + _tprintf(_T("%s, %s\n"), ptr, param); + if (ptr[0] == _T('\0')) AddConsoleAlias(param, NULL, _T("cmd.exe")); else @@ -74,17 +77,27 @@ INT SetMacro (LPTSTR param) return 0; } -static VOID ReadFromFile(LPTSTR param) +static VOID ReadFromFile(LPSTR param) { FILE* fp; char line[MAX_PATH]; +#ifdef UNICODE + WCHAR lineW[MAX_PATH]; +#endif /* FIXME */ param += 11; - fp = _tfopen(param,"r"); + fp = fopen(param,"r"); while ( fgets(line, MAX_PATH, fp) != NULL) + { +#ifdef UNICODE + MultiByteToWideChar(CP_ACP, 0, line, -1, lineW, MAX_PATH); + SetMacro(lineW); +#else SetMacro(line); +#endif + } fclose(fp); return; @@ -93,7 +106,10 @@ static VOID ReadFromFile(LPTSTR param) int main (int argc, char **argv) { - +#ifdef UNICODE + WCHAR lineW[MAX_PATH]; +#endif + if (argc < 2) return 0; @@ -106,11 +122,14 @@ main (int argc, char **argv) } else { +#ifdef UNICODE + MultiByteToWideChar(CP_ACP, 0, argv[1], -1, lineW, MAX_PATH); + SetMacro(lineW); +#else SetMacro(argv[1]); +#endif } - - return 0; } diff --git a/reactos/base/applications/cmdutils/doskey/doskey.rbuild b/reactos/base/applications/cmdutils/doskey/doskey.rbuild index 59ab1f07a34..e645cfd6070 100644 --- a/reactos/base/applications/cmdutils/doskey/doskey.rbuild +++ b/reactos/base/applications/cmdutils/doskey/doskey.rbuild @@ -3,6 +3,8 @@ 0x0501 0x0501 + + kernel32 doskey.c doskey.rc