diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-08-07 00:07:42 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-08-07 00:07:42 +0000 |
commit | eb62b765c45172f63920af29c017c90f65ce62df (patch) | |
tree | b07e4546da80b476d361a3862d759708236fc113 | |
parent | df1a3208d3550642652781516234bb9d1bd545c6 (diff) |
base-files: allow default value for config_get
Signed-off-by: Malte S. Stretz <mss@apache.org>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17155 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-x | package/base-files/files/etc/functions.sh | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh index 828e37e40..efa378f00 100755 --- a/package/base-files/files/etc/functions.sh +++ b/package/base-files/files/etc/functions.sh @@ -134,22 +134,25 @@ config_clear() { done } +# config_get <variable> <section> <option> [<default>] +# config_get <section> <option> config_get() { case "$3" in - "") eval "echo \"\${CONFIG_${1}_${2}}\"";; - *) eval "export ${NO_EXPORT:+-n} -- \"$1=\${CONFIG_${2}_${3}}\"";; + "") eval echo "\${CONFIG_${1}_${2}:-\${4}}";; + *) eval export ${NO_EXPORT:+-n} -- "${1}=\${CONFIG_${2}_${3}:-\${4}}";; esac } # config_get_bool <variable> <section> <option> [<default>] config_get_bool() { local _tmp - config_get "_tmp" "$2" "$3" + config_get _tmp "$2" "$3" "$4" case "$_tmp" in - 1|on|true|enabled) export ${NO_EXPORT:+-n} "$1=1";; - 0|off|false|disabled) export ${NO_EXPORT:+-n} "$1=0";; - *) eval "$1=$4";; + 1|on|true|enabled) _tmp=1;; + 0|off|false|disabled) _tmp=0;; + *) _tmp="$4";; esac + export ${NO_EXPORT:+-n} "$1=$_tmp" } config_set() { |