88abe9b6662dcf402842197663b37f87ab4f2bc3
6 partstrlwr (LPTSTR str
)
9 while (*c
&& !_istspace (*c
) && *c
!= _T('='))
23 len
= GetConsoleAliasesLength(_T("cmd.exe"));
27 /* allocate memory for an extra \0 char to make parsing easier */
28 ptr
= HeapAlloc(GetProcessHeap(), 0, (len
+ sizeof(TCHAR
)));
34 ZeroMemory(Aliases
, len
+ sizeof(TCHAR
));
36 if (GetConsoleAliases(Aliases
, len
, _T("cmd.exe")) != 0)
38 while (*Aliases
!= '\0')
40 _tprintf(_T("%s\n"), Aliases
);
41 Aliases
= Aliases
+ lstrlen(Aliases
);
45 HeapFree(GetProcessHeap(), 0 , ptr
);
48 INT
SetMacro (LPTSTR param
)
52 while (*param
== _T(' '))
55 /* error if no '=' found */
56 if ((ptr
= _tcschr (param
, _T('='))) == 0)
59 while (*param
== _T(' '))
62 while (*ptr
== _T(' '))
65 /* Split rest into name and substitute */
70 _tprintf(_T("%s, %s\n"), ptr
, param
);
72 if (ptr
[0] == _T('\0'))
73 AddConsoleAlias(param
, NULL
, _T("cmd.exe"));
75 AddConsoleAlias(param
, ptr
, _T("cmd.exe"));
80 static VOID
ReadFromFile(LPSTR param
)
85 WCHAR lineW
[MAX_PATH
];
91 fp
= fopen(param
,"r");
92 while ( fgets(line
, MAX_PATH
, fp
) != NULL
)
95 MultiByteToWideChar(CP_ACP
, 0, line
, -1, lineW
, MAX_PATH
);
107 main (int argc
, char **argv
)
110 WCHAR lineW
[MAX_PATH
];
116 if (argv
[1][0] == '/')
118 if (strnicmp(argv
[1], "/macrofile", 10) == 0)
119 ReadFromFile(argv
[1]);
120 if (stricmp(argv
[1], "/macros") == 0)
126 MultiByteToWideChar(CP_ACP
, 0, argv
[1], -1, lineW
, MAX_PATH
);