[openwrt/openwrt] base-files: allow reusing of boolean value extraction logic
LEDE Commits
lede-commits at lists.infradead.org
Fri Jan 1 15:24:29 EST 2021
aparcar pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/49d678f0d29405883e0789297a476154eef18ec5
commit 49d678f0d29405883e0789297a476154eef18ec5
Author: Oldřich Jedlička <oldium.pro at gmail.com>
AuthorDate: Sun Nov 8 16:15:04 2020 +0100
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 at gmail.com>
---
package/base-files/Makefile | 2 +-
package/base-files/files/lib/functions.sh | 17 ++++++++++++-----
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"
}
More information about the lede-commits
mailing list