Commit 929a92f3 authored by Jason Edmeades's avatar Jason Edmeades Committed by Alexandre Julliard

cmd.exe: GOTO throws away any preloaded multi part/line command.

parent 8f12d8bd
...@@ -97,7 +97,7 @@ void WCMD_batch (WCHAR *file, WCHAR *command, int called, WCHAR *startLabel, HAN ...@@ -97,7 +97,7 @@ void WCMD_batch (WCHAR *file, WCHAR *command, int called, WCHAR *startLabel, HAN
/* If processing a call :label, 'goto' the label in question */ /* If processing a call :label, 'goto' the label in question */
if (startLabel) { if (startLabel) {
strcpyW(param1, startLabel); strcpyW(param1, startLabel);
WCMD_goto(); WCMD_goto(NULL);
} }
/* /*
......
...@@ -686,10 +686,13 @@ void WCMD_give_help (WCHAR *command) { ...@@ -686,10 +686,13 @@ void WCMD_give_help (WCHAR *command) {
* FIXME: DOS is supposed to allow labels with spaces - we don't. * FIXME: DOS is supposed to allow labels with spaces - we don't.
*/ */
void WCMD_goto (void) { void WCMD_goto (CMD_LIST **cmdList) {
WCHAR string[MAX_PATH]; WCHAR string[MAX_PATH];
/* Do not process any more parts of a processed multipart or multilines command */
*cmdList = NULL;
if (param1[0] == 0x00) { if (param1[0] == 0x00) {
WCMD_output (WCMD_LoadMessage(WCMD_NOARG)); WCMD_output (WCMD_LoadMessage(WCMD_NOARG));
return; return;
......
...@@ -53,7 +53,7 @@ void WCMD_enter_paged_mode(const WCHAR *); ...@@ -53,7 +53,7 @@ void WCMD_enter_paged_mode(const WCHAR *);
void WCMD_exit (void); void WCMD_exit (void);
void WCMD_for (WCHAR *, CMD_LIST **cmdList); void WCMD_for (WCHAR *, CMD_LIST **cmdList);
void WCMD_give_help (WCHAR *command); void WCMD_give_help (WCHAR *command);
void WCMD_goto (void); void WCMD_goto (CMD_LIST **cmdList);
void WCMD_if (WCHAR *, CMD_LIST **cmdList); void WCMD_if (WCHAR *, CMD_LIST **cmdList);
void WCMD_leave_paged_mode(void); void WCMD_leave_paged_mode(void);
void WCMD_more (WCHAR *); void WCMD_more (WCHAR *);
......
...@@ -712,7 +712,7 @@ void WCMD_process_command (WCHAR *command, CMD_LIST **cmdList) ...@@ -712,7 +712,7 @@ void WCMD_process_command (WCHAR *command, CMD_LIST **cmdList)
WCMD_for (p, cmdList); WCMD_for (p, cmdList);
break; break;
case WCMD_GOTO: case WCMD_GOTO:
WCMD_goto (); WCMD_goto (cmdList);
break; break;
case WCMD_HELP: case WCMD_HELP:
WCMD_give_help (p); WCMD_give_help (p);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment