sh/jshn.sh: fix json_get_var() and json_get_type() to not return cached values
authorJo-Philipp Wich <jow@openwrt.org>
Wed, 30 May 2012 19:47:43 +0000 (21:47 +0200)
committerJo-Philipp Wich <jow@openwrt.org>
Wed, 30 May 2012 19:47:43 +0000 (21:47 +0200)
sh/jshn.sh

index a15cb00..0f209d3 100644 (file)
@@ -95,13 +95,13 @@ json_dump() {
 json_get_type() {
        local dest="$1"
        local var="TYPE_${JSON_CUR}_$2"
-       eval "[ -n \"\${$var+x}\" ] && export -- \"$dest=\${$var}\""
+       eval "export -- \"$dest=\${$var}\"; [ -n \"\${$var+x}\" ]"
 }
 
 json_get_var() {
        local dest="$1"
        local var="${JSON_CUR}_${2//[^a-zA-Z0-9_]/_}"
-       eval "[ -n \"\${$var+x}\" ] && export -- \"$dest=\${$var}\""
+       eval "export -- \"$dest=\${$var}\"; [ -n \"\${$var+x}\" ]"
 }
 
 json_get_vars() {