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')
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