From ca33873ad616bdb4d38cd9e15aa184d1ab2aba05 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Wed, 28 Feb 2024 08:32:34 +0100 Subject: Fix empty default values --- lib/util/config.bash | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'lib/util/config.bash') diff --git a/lib/util/config.bash b/lib/util/config.bash index 76b6567..9817cf3 100644 --- a/lib/util/config.bash +++ b/lib/util/config.bash @@ -17,7 +17,11 @@ config_subkeys() { config_for() { local host=$1 ; shift local key=$1 ; shift - local default=$1 ; shift + + # Use a variable definition test to define default, in order to ensure + # it is _not_ defined if no argument for it was passed, but _is_ + # defined even if an empty string was passed. + test -v 1 && { local default=$1 ; shift ; } local default local file @@ -67,8 +71,8 @@ config_for() { fi done - # Return default value - if [[ -n $default ]] + # Return default value, if one has been defined + if test -v default then printf "%s" "$default" return -- cgit v1.1