From 49d678f0d29405883e0789297a476154eef18ec5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Old=C5=99ich=20Jedli=C4=8Dka?= <oldium.pro@gmail.com> Date: Sun, 8 Nov 2020 16:15:04 +0100 Subject: base-files: allow reusing of boolean value extraction logic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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> --- package/base-files/files/lib/functions.sh | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'package/base-files/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" } -- cgit v1.2.3