cmd.exe: Expand for variables at last with tilda modifications.
diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c
index 027f2bd..8fbf292 100644
--- a/programs/cmd/builtins.c
+++ b/programs/cmd/builtins.c
@@ -992,40 +992,6 @@
return;
}
-/*****************************************************************************
- * WCMD_Execute
- *
- * Execute a command after substituting variable text for the supplied parameter
- */
-
-void WCMD_execute (WCHAR *orig_cmd, WCHAR *param, WCHAR *subst, CMD_LIST **cmdList) {
-
- WCHAR *new_cmd, *p, *s, *dup;
- int size;
-
- if (param) {
- size = (strlenW (orig_cmd) + 1) * sizeof(WCHAR);
- new_cmd = (WCHAR *) LocalAlloc (LMEM_FIXED | LMEM_ZEROINIT, size);
- dup = s = WCMD_strdupW(orig_cmd);
-
- while ((p = strstrW (s, param))) {
- *p = '\0';
- size += strlenW (subst) * sizeof(WCHAR);
- new_cmd = (WCHAR *) LocalReAlloc ((HANDLE)new_cmd, size, 0);
- strcatW (new_cmd, s);
- strcatW (new_cmd, subst);
- s = p + strlenW (param);
- }
- strcatW (new_cmd, s);
- WCMD_process_command (new_cmd, cmdList);
- free (dup);
- LocalFree ((HANDLE)new_cmd);
- } else {
- WCMD_process_command (orig_cmd, cmdList);
- }
-}
-
-
/**************************************************************************
* WCMD_give_help
*
@@ -1067,7 +1033,7 @@
WCHAR string[MAX_PATH];
/* Do not process any more parts of a processed multipart or multilines command */
- *cmdList = NULL;
+ if (cmdList) *cmdList = NULL;
if (param1[0] == 0x00) {
WCMD_output (WCMD_LoadMessage(WCMD_NOARG));