Author: jow
Date: 2015-11-25 16:43:28 +0100 (Wed, 25 Nov 2015)
New Revision: 47645

Modified:
   trunk/package/base-files/files/lib/functions/uci-defaults-new.sh
Log:
base-files: uci-defaults-new: add ucidef_add_switch_port_attr() helper

Signed-off-by: Jo-Philipp Wich <[email protected]>

Modified: trunk/package/base-files/files/lib/functions/uci-defaults-new.sh
===================================================================
--- trunk/package/base-files/files/lib/functions/uci-defaults-new.sh    
2015-11-25 15:43:21 UTC (rev 47644)
+++ trunk/package/base-files/files/lib/functions/uci-defaults-new.sh    
2015-11-25 15:43:28 UTC (rev 47645)
@@ -144,6 +144,42 @@
        json_select ..
 }
 
+ucidef_add_switch_port_attr() {
+       local name=$1
+       local port=$2
+       local key=$3
+       local val=$4
+       local ports i num
+
+       json_select_object switch
+       json_select_object $name
+
+       json_get_keys ports ports
+       json_select_array ports
+
+       for i in $ports; do
+               json_select $i
+               json_get_var num num
+
+               if [ -n "$num" ] && [ $num -eq $port ]; then
+                       json_select_object attr
+
+                       case "$val" in
+                               [0-9]) json_add_int "$key" "$val" ;;
+                               *) json_add_string "$key" "$val" ;;
+                       esac
+
+                       json_select ..
+               fi
+
+               json_select ..
+       done
+
+       json_select ..
+       json_select ..
+       json_select ..
+}
+
 ucidef_add_switch_vlan() {
        local name=$1
        local vlan=$2
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to