From 1bfae7d14a7bdad777e82912c5c6883deb11aee5 Mon Sep 17 00:00:00 2001 From: Ethan Sommer Date: Mon, 4 Nov 2019 23:36:02 -0500 Subject: libmakepkg: fix empty arguments in parseopts Previously parseopts checked if there was an argument by checking that the string was non-empty, resulting in empty arguments being incorrectly considered non-existent. This change makes parseopts check if arguments exist at all, rather than checking that they are non-empty Signed-off-by: Ethan Sommer Signed-off-by: Allan McRae --- test/scripts/parseopts_test.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/scripts/parseopts_test.sh b/test/scripts/parseopts_test.sh index 8f1ea1f3..3d706be8 100755 --- a/test/scripts/parseopts_test.sh +++ b/test/scripts/parseopts_test.sh @@ -31,7 +31,7 @@ tap_parse() { unset OPTRET } -tap_plan 54 +tap_plan 56 # usage: tap_parse test-params... # a failed tap_parse will match only the end of options marker '--' @@ -117,4 +117,7 @@ tap_parse '--opt= --opt=foo --opt --' 4 --opt= --opt=foo --opt # short opt with and without optional arg, and non-option arg tap_parse '-b=foo -A -b -- foo' 5 -bfoo -Ab foo +# all possible ways to specify empty optargs +tap_parse '--key --pkg -p --' 7 --key '' --pkg='' -p '' + tap_finish -- cgit v1.2.3-54-g00ecf