From 72dadf133b6f77ff290835faaa8420577e8c8925 Mon Sep 17 00:00:00 2001 From: zioproto Date: Wed, 10 Apr 2013 10:48:32 +0000 Subject: [PATCH] [packages] olsrd: init: for better reuse, make a function out of a procedure get_value_for_entry() Later we want to reuse that functionality, to avoid code duplication we make a function with clean entry and return-codes, so we can do e.g.: get_value_for_entry "$entry" || continue which is also better readable. Signed-off-by: Bastian Bittorf git-svn-id: svn://svn.openwrt.org/openwrt/packages@36298 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- net/olsrd/files/olsrd.init | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/net/olsrd/files/olsrd.init b/net/olsrd/files/olsrd.init index 18cd42f54..6ed369fc4 100644 --- a/net/olsrd/files/olsrd.init +++ b/net/olsrd/files/olsrd.init @@ -232,6 +232,7 @@ config_write_options() { local write_func="$3" [ -z "$write_func" ] && output_func=echo local write_param="$4" + local schema_entry local option local option_length @@ -244,20 +245,30 @@ config_write_options() { local i local position - for schema_entry in $schema; do + get_value_for_entry() + { + local schema_entry="$1" + default="${schema_entry#*[=]}" [ "$default" = "$schema_entry" ] && default= option="${schema_entry%%[=]*}" - IFS=':' - set -- $option - unset IFS + + IFS=':'; set -- $option; unset IFS option="$1" option_type="$2" - validate_varname "$option" || continue - [ -z "$option_type" ] || validate_varname "$option_type" || continue - [ "$option_type" = internal ] && continue + + validate_varname "$option" || return 1 + [ -z "$option_type" ] || validate_varname "$option_type" || return 1 + [ "$option_type" = internal ] && return 1 + config_get value "$cfg" "$option" + return 0 + } + + for schema_entry in $schema; do + get_value_for_entry "$schema_entry" || continue + if [ -z "$value" ]; then IFS='+' set -- $default @@ -481,6 +492,7 @@ olsrd_write_interface() { ifnames= config_get interfaces "$cfg" interface + for interface in $interfaces; do if validate_varname "$interface"; then if network_get_device IFNAME "$interface"; then -- 2.11.0