Merge pull request #35266 from abbradar/cc-bools

cc-wrapper: fix bool handling for empty and zero values
This commit is contained in:
John Ericson 2018-02-21 17:00:42 -05:00 committed by GitHub
commit e42e6d2f0e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -25,7 +25,11 @@ mangleVarBool() {
for infix in "${role_infixes[@]}"; do
local inputVar="${var/+/${infix}}"
if [ -v "$inputVar" ]; then
let "${outputVar} |= ${!inputVar}"
# "1" in the end makes `let` return success error code when
# expression itself evaluates to zero.
# We don't use `|| true` because that would silence actual
# syntax errors from bad variable values.
let "${outputVar} |= ${!inputVar:-0}" "1"
fi
done
}