diff options
-rwxr-xr-x | examples/proto/ppp.sh | 4 | ||||
-rwxr-xr-x | examples/proto/pptp.sh | 4 | ||||
-rwxr-xr-x | scripts/netifd-proto.sh | 31 | ||||
-rw-r--r-- | scripts/utils.sh | 33 |
4 files changed, 44 insertions, 28 deletions
diff --git a/examples/proto/ppp.sh b/examples/proto/ppp.sh index f0d0ca3..4750f40 100755 --- a/examples/proto/ppp.sh +++ b/examples/proto/ppp.sh @@ -1,6 +1,6 @@ #!/bin/sh -DUMMY=1 -. ../../scripts/netifd-proto.sh +NETIFD_MAIN_DIR=../../scripts +. $NETIFD_MAIN_DIR/netifd-proto.sh init_proto "$@" diff --git a/examples/proto/pptp.sh b/examples/proto/pptp.sh index 5189e95..7c8a13d 100755 --- a/examples/proto/pptp.sh +++ b/examples/proto/pptp.sh @@ -1,5 +1,7 @@ #!/bin/sh -. ../../scripts/netifd-proto.sh +NETIFD_MAIN_DIR=../../scripts +. $NETIFD_MAIN_DIR/netifd-proto.sh + init_proto "$@" proto_pptp_init_config() { diff --git a/scripts/netifd-proto.sh b/scripts/netifd-proto.sh index 6f20de9..76dcd8d 100755 --- a/scripts/netifd-proto.sh +++ b/scripts/netifd-proto.sh @@ -1,37 +1,18 @@ -. /usr/share/libubox/jshn.sh - -append() { - local var="$1" - local value="$2" - local sep="${3:- }" - - eval "export -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\"" -} +NETIFD_MAIN_DIR="${NETIFD_MAIN_DIR:-/lib/netifd}" -proto_config_add_generic() { - json_add_array "" - json_add_string "" "$1" - json_add_int "" "$2" - json_close_array -} +. /usr/share/libubox/jshn.sh +. $NETIFD_MAIN_DIR/utils.sh proto_config_add_int() { - proto_config_add_generic "$1" 5 + _config_add_generic "$1" 5 } proto_config_add_string() { - proto_config_add_generic "$1" 3 + _config_add_generic "$1" 3 } proto_config_add_boolean() { - proto_config_add_generic "$1" 7 -} - -add_default_handler() { - case "$(type $1 2>/dev/null)" in - *function*) return;; - *) eval "$1() { return; }" - esac + _config_add_generic "$1" 7 } _proto_do_teardown() { diff --git a/scripts/utils.sh b/scripts/utils.sh new file mode 100644 index 0000000..6a137c0 --- /dev/null +++ b/scripts/utils.sh @@ -0,0 +1,33 @@ +append() { + local var="$1" + local value="$2" + local sep="${3:- }" + + eval "export -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\"" +} + +add_default_handler() { + case "$(type $1 2>/dev/null)" in + *function*) return;; + *) eval "$1() { return; }" + esac +} + +_config_add_generic() { + json_add_array "" + json_add_string "" "$1" + json_add_int "" "$2" + json_close_array +} + +config_add_int() { + _config_add_generic "$1" 5 +} + +config_add_string() { + _config_add_generic "$1" 3 +} + +config_add_boolean() { + _config_add_generic "$1" 7 +} |