From: Lech Perczak Date: Sat, 6 Nov 2021 12:21:32 +0000 (+0100) Subject: umbim: add "_proto_mbim_get_field" helper X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=f01fff63fbe61186128e000a3bccb7ed159fcb0c;p=openwrt%2Fstaging%2Fblogic.git umbim: add "_proto_mbim_get_field" helper Add a new helper to extract IP configuration from umbim output. This is required to extract fields which can possibly have multiple values, namely IP addresses and DNS servers, and get rid of primitive parser using 'eval' builtin without support for this. Signed-off-by: Lech Perczak --- diff --git a/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh b/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh index 9ab77242321e..8f1ae9ac253a 100755 --- a/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh +++ b/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh @@ -26,6 +26,18 @@ proto_mbim_init_config() { proto_config_add_defaults } +_proto_mbim_get_field() { + local field="$1" + shift + local mbimconfig="$@" + echo "$mbimconfig" | while read -r line; do + variable=${line%%:*} + [ "$variable" = "$field" ] || continue; + value=${line##* } + echo -n "$value " + done +} + _proto_mbim_setup() { local interface="$1" local tid=2