From 60d258819294e7b84c7ec501d9bfe6fe6965d41c Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Tue, 1 Jan 2013 22:43:20 -0500 Subject: parseopts: remove superfluous continue/shift statements Fun fact about bash: the below is valid and will only ever print 'a'! fn() { continue 2 } for x in {1..5}; do for y in {a..e}; do echo "$y" fn done done Signed-off-by: Dave Reisner Signed-off-by: Allan McRae --- scripts/library/parseopts.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'scripts/library') diff --git a/scripts/library/parseopts.sh b/scripts/library/parseopts.sh index 11589ce3..cf6aa6c6 100644 --- a/scripts/library/parseopts.sh +++ b/scripts/library/parseopts.sh @@ -92,26 +92,22 @@ parseopts() { # --longopt else OPTRET+=("--$opt") - shift - continue 2 fi ;; 1) # --longopt=optarg if [[ $optarg ]]; then OPTRET+=("--$opt" "$optarg") - shift # --longopt optarg elif [[ $2 ]]; then OPTRET+=("--$opt" "$2" ) - shift 2 + shift # parse failure else printf "@SCRIPTNAME@: $(gettext "option '%s' requires an argument")\n" "--$opt" >&2 OPTRET=(--) return 1 fi - continue 2 ;; 254) # ambiguous option -- error was reported for us by longoptmatch() -- cgit v1.2.3-24-g4f1b