From: Eric Pouech epouech@codeweavers.com
Signed-off-by: Eric Pouech epouech@codeweavers.com --- programs/cmd/batch.c | 7 +++++-- programs/cmd/tests/test_builtins.bat.exp | 2 +- programs/cmd/tests/test_builtins.cmd.exp | 2 +- programs/cmd/wcmdmain.c | 5 +++++ 4 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/programs/cmd/batch.c b/programs/cmd/batch.c index 81f1092c921..20ae894dbfd 100644 --- a/programs/cmd/batch.c +++ b/programs/cmd/batch.c @@ -38,8 +38,11 @@ static RETURN_CODE WCMD_batch_main_loop(void) context->skip_rest = TRUE; break; case RPL_SUCCESS: - return_code = node_execute(node); - node_dispose_tree(node); + if (node) + { + return_code = node_execute(node); + node_dispose_tree(node); + } break; case RPL_SYNTAXERROR: return_code = RETURN_CODE_SYNTAX_ERROR; diff --git a/programs/cmd/tests/test_builtins.bat.exp b/programs/cmd/tests/test_builtins.bat.exp index 41c21afbb2a..a6b583f78c1 100644 --- a/programs/cmd/tests/test_builtins.bat.exp +++ b/programs/cmd/tests/test_builtins.bat.exp @@ -32,7 +32,7 @@ FAILURE 1 SUCCESS 0 FAILURE 1024 SUCCESS 0 -@todo_wine@SUCCESS 0 +SUCCESS 0 FAILURE 666 FAILURE 2 FAILURE 666 diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index c0d37439bd6..292c24985e8 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -483,7 +483,7 @@ FAILURE 1 SUCCESS 0 FAILURE 1024 SUCCESS 0 -@todo_wine@SUCCESS 0 +SUCCESS 0 FAILURE 666 FAILURE 2 FAILURE 666 diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c index 0b9de9d5f74..b19f8453438 100644 --- a/programs/cmd/wcmdmain.c +++ b/programs/cmd/wcmdmain.c @@ -2536,6 +2536,11 @@ static BOOL node_builder_generate(struct node_builder *builder, CMD_NODE **node) } else { + if (!builder->num) /* line without tokens */ + { + *node = NULL; + return TRUE; + } if (node_builder_parse(builder, 0, node) && builder->pos + 1 >= builder->num) /* consumed all tokens? */ return TRUE;