aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOldřich Jedlička <oldium.pro@gmail.com>2020-11-08 16:15:04 +0100
committerPaul Spooren <mail@aparcar.org>2021-01-01 10:23:56 -1000
commit49d678f0d29405883e0789297a476154eef18ec5 (patch)
treefd2574e30d407399d54879a7bac98e1e4e471a74
parent0f14aec8fcdc0863326b9d8a62c50e1682621607 (diff)
downloadupstream-49d678f0d29405883e0789297a476154eef18ec5.tar.gz
upstream-49d678f0d29405883e0789297a476154eef18ec5.tar.bz2
upstream-49d678f0d29405883e0789297a476154eef18ec5.zip
base-files: allow reusing of boolean value extraction logic
The `functions.sh` script has `config_get_bool()` function, which is usable when using UCI config direct access API, but there is no equivalent for the callback API. Introduce `get_bool()` function to allow reusing it from init scripts. Example: ```sh option_cb() { local option="$1" local value="$(get_bool "$2")" ... } ``` Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>
-rw-r--r--package/base-files/Makefile2
-rwxr-xr-xpackage/base-files/files/lib/functions.sh17
2 files changed, 13 insertions, 6 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 35a07f2aad..da3976424f 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk
include $(INCLUDE_DIR)/feeds.mk
PKG_NAME:=base-files
-PKG_RELEASE:=243
+PKG_RELEASE:=244
PKG_FLAGS:=nonshared
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh
index ee4ad1af83..272e230db2 100755
--- a/package/base-files/files/lib/functions.sh
+++ b/package/base-files/files/lib/functions.sh
@@ -118,15 +118,22 @@ config_get() {
esac
}
-# config_get_bool <variable> <section> <option> [<default>]
-config_get_bool() {
- local _tmp
- config_get _tmp "$2" "$3" "$4"
+# get_bool <value> [<default>]
+get_bool() {
+ local _tmp="$1"
case "$_tmp" in
1|on|true|yes|enabled) _tmp=1;;
0|off|false|no|disabled) _tmp=0;;
- *) _tmp="$4";;
+ *) _tmp="$2";;
esac
+ echo -n "$_tmp"
+}
+
+# config_get_bool <variable> <section> <option> [<default>]
+config_get_bool() {
+ local _tmp
+ config_get _tmp "$2" "$3" "$4"
+ _tmp="$(get_bool "$_tmp" "$4")"
export ${NO_EXPORT:+-n} "$1=$_tmp"
}