build unicode version

svn path=/trunk/; revision=32098
This commit is contained in:
Christoph von Wittich 2008-02-02 22:49:24 +00:00
parent 9c69b6f7f8
commit 5751b595ac
2 changed files with 31 additions and 10 deletions

View file

@ -37,7 +37,7 @@ PrintAlias (VOID)
{ {
while (*Aliases != '\0') while (*Aliases != '\0')
{ {
printf(_T("%s\n"), Aliases); _tprintf(_T("%s\n"), Aliases);
Aliases = Aliases + lstrlen(Aliases); Aliases = Aliases + lstrlen(Aliases);
Aliases++; Aliases++;
} }
@ -49,23 +49,26 @@ INT SetMacro (LPTSTR param)
{ {
LPTSTR ptr; LPTSTR ptr;
while (*param == ' ') while (*param == _T(' '))
param++; param++;
/* error if no '=' found */ /* error if no '=' found */
if ((ptr = _tcschr (param, _T('='))) == 0) if ((ptr = _tcschr (param, _T('='))) == 0)
{
return 1; return 1;
}
while (*param == ' ') while (*param == _T(' '))
param++; param++;
while (*ptr == _T(' '))
ptr--;
/* Split rest into name and substitute */ /* Split rest into name and substitute */
*ptr++ = _T('\0'); *ptr++ = _T('\0');
partstrlwr (param); partstrlwr (param);
_tprintf(_T("%s, %s\n"), ptr, param);
if (ptr[0] == _T('\0')) if (ptr[0] == _T('\0'))
AddConsoleAlias(param, NULL, _T("cmd.exe")); AddConsoleAlias(param, NULL, _T("cmd.exe"));
else else
@ -74,17 +77,27 @@ INT SetMacro (LPTSTR param)
return 0; return 0;
} }
static VOID ReadFromFile(LPTSTR param) static VOID ReadFromFile(LPSTR param)
{ {
FILE* fp; FILE* fp;
char line[MAX_PATH]; char line[MAX_PATH];
#ifdef UNICODE
WCHAR lineW[MAX_PATH];
#endif
/* FIXME */ /* FIXME */
param += 11; param += 11;
fp = _tfopen(param,"r"); fp = fopen(param,"r");
while ( fgets(line, MAX_PATH, fp) != NULL) while ( fgets(line, MAX_PATH, fp) != NULL)
{
#ifdef UNICODE
MultiByteToWideChar(CP_ACP, 0, line, -1, lineW, MAX_PATH);
SetMacro(lineW);
#else
SetMacro(line); SetMacro(line);
#endif
}
fclose(fp); fclose(fp);
return; return;
@ -93,7 +106,10 @@ static VOID ReadFromFile(LPTSTR param)
int int
main (int argc, char **argv) main (int argc, char **argv)
{ {
#ifdef UNICODE
WCHAR lineW[MAX_PATH];
#endif
if (argc < 2) if (argc < 2)
return 0; return 0;
@ -106,11 +122,14 @@ main (int argc, char **argv)
} }
else else
{ {
#ifdef UNICODE
MultiByteToWideChar(CP_ACP, 0, argv[1], -1, lineW, MAX_PATH);
SetMacro(lineW);
#else
SetMacro(argv[1]); SetMacro(argv[1]);
#endif
} }
return 0; return 0;
} }

View file

@ -3,6 +3,8 @@
<module name="doskey" type="win32cui" installbase="system32" installname="doskey.exe"> <module name="doskey" type="win32cui" installbase="system32" installname="doskey.exe">
<define name="_WIN32_IE">0x0501</define> <define name="_WIN32_IE">0x0501</define>
<define name="_WIN32_WINNT">0x0501</define> <define name="_WIN32_WINNT">0x0501</define>
<define name="UNICODE" />
<define name="_UNICODE" />
<library>kernel32</library> <library>kernel32</library>
<file>doskey.c</file> <file>doskey.c</file>
<file>doskey.rc</file> <file>doskey.rc</file>