diff options
author | Oldřich Jedlička <oldium.pro@gmail.com> | 2020-11-08 16:15:04 +0100 |
---|---|---|
committer | Paul Spooren <mail@aparcar.org> | 2021-01-01 10:23:56 -1000 |
commit | 49d678f0d29405883e0789297a476154eef18ec5 (patch) | |
tree | fd2574e30d407399d54879a7bac98e1e4e471a74 /package/base-files/files | |
parent | 0f14aec8fcdc0863326b9d8a62c50e1682621607 (diff) | |
download | upstream-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>
Diffstat (limited to 'package/base-files/files')
-rwxr-xr-x | package/base-files/files/lib/functions.sh | 17 |
1 files changed, 12 insertions, 5 deletions
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" } |