hush: fix ". EMPTY_LINE" not setting $? to 0

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2016-09-29 01:27:09 +02:00
parent 46a45ce02f
commit 992e0ff7e9
5 changed files with 18 additions and 0 deletions

View File

@ -0,0 +1,2 @@
Zero:0
Zero:0

View File

@ -0,0 +1,6 @@
# Test both empty file, and one-empty-line file
echo >sourced1
true >sourced2
false; . ./sourced1; echo Zero:$?
false; . ./sourced2; echo Zero:$?
rm sourced1 sourced2

View File

@ -9156,6 +9156,8 @@ static int FAST_FUNC builtin_source(char **argv)
if (argv[1])
save_and_replace_G_args(&sv, argv);
/* "false; . ./empty_line; echo Zero:$?" should print 0 */
G.last_exitcode = 0;
parse_and_run_file(input);
fclose_and_forget(input);

View File

@ -0,0 +1,2 @@
Zero:0
Zero:0

View File

@ -0,0 +1,6 @@
# Test both empty file, and one-empty-line file
echo >sourced1
true >sourced2
false; . ./sourced1; echo Zero:$?
false; . ./sourced2; echo Zero:$?
rm sourced1 sourced2