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; : } |