fix: handle unset keys in associative arrays to prevent set -u errors

This commit is contained in:
Pallav Vasa 2025-05-17 16:25:19 +00:00
parent 6ed0d234d4
commit 707889ef63

View File

@ -68,14 +68,14 @@ validate_command() {
declare -A seen=() declare -A seen=()
for a in "${args[@]}"; do for a in "${args[@]}"; do
[[ -z "${allowed_set[$a]}" ]] && { if [[ -z "${allowed_set[$a]+_}" ]]; then
echo "ERROR: Invalid argument '$a' for '$cmd'; allowed: (${allowed[*]})" >&2 echo "ERROR: Invalid argument '$a' for '$cmd'; allowed: (${allowed[*]})" >&2
return 1 return 1
} fi
[[ -n "${seen[$a]}" ]] && { if [[ -n "${seen[$a]+_}" ]]; then
echo "ERROR: Duplicate argument '$a' for '$cmd'" >&2 echo "ERROR: Duplicate argument '$a' for '$cmd'" >&2
return 1 return 1
} fi
seen["$a"]=1 seen["$a"]=1
done done
return 0 return 0