aboutsummaryrefslogtreecommitdiff
path: root/lib/util/config.bash
diff options
context:
space:
mode:
Diffstat (limited to 'lib/util/config.bash')
-rw-r--r--lib/util/config.bash10
1 files changed, 7 insertions, 3 deletions
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