diff options
| author | Leah Rowe <leah@libreboot.org> | 2025-05-19 19:29:59 +0100 | 
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2025-05-19 19:29:59 +0100 | 
| commit | 8aaf404ddea8a8d6c21f0a1f83f1675a8b0895aa (patch) | |
| tree | 7f47fb39b698a0c8b836af1186c022b55b743808 /include | |
| parent | d9c64b267540a7c0a62f219c1c27c790234fd11c (diff) | |
lib.sh: Use while, not for, to process arguments
This is more reliable against globbing, in context of for.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/lib.sh | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/include/lib.sh b/include/lib.sh index 025db88a..184d0491 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -53,8 +53,10 @@ setvars()  	fi  	val="$1"  	shift 1 -	for var in "$@"; do -		_setvars="$var=\"$val\"; $_setvars" +	while true; do +		[ $# -lt 1 ] && break +		_setvars="$1=\"$val\"; $_setvars" +		shift 1  	done  	printf "%s\n" "${_setvars% }"  } @@ -69,9 +71,11 @@ setcfg()  chkvars()  { -	for var in "$@"; do -		eval "[ -n \"\${$var+x}\" ] || err \"$var unset\"" -		eval "[ -n \"\$$var\" ] || err \"$var unset\"" +	while true; do +		[ $# -lt 1 ] && break +		eval "[ -n \"\${$1+x}\" ] || err \"$1 unset\"" +		eval "[ -n \"\$$1\" ] || err \"$1 unset\"" +		shift 1  	done; :  } | 
