X-Git-Url: http://git.archive.openwrt.org/?p=project%2Flibubox.git;a=blobdiff_plain;f=sh%2Fjshn.sh;h=bf76edbeed3c7ee3632e537bb8470cfce0f5b201;hp=dab40e4fdfcf89a60f2538fbd0e38b2f685feacf;hb=fd57eea9f37e447814afbf934db626288aac23c4;hpb=d59fa8d58844f3d6fad70a540a73ee6290613dd4 diff --git a/sh/jshn.sh b/sh/jshn.sh index dab40e4..bf76edb 100644 --- a/sh/jshn.sh +++ b/sh/jshn.sh @@ -90,7 +90,6 @@ _json_close_table() { _json_get_var _s_cur JSON_CUR _json_get_var "${JSON_PREFIX}JSON_CUR" "U_$_s_cur" - unset "${JSON_PREFIX}U_$_s_cur" } json_set_namespace() { @@ -105,7 +104,7 @@ json_cleanup() { local unset tmp _json_get_var unset JSON_UNSET - for tmp in $unset JSON_VAR; do + for tmp in $unset J_V; do unset \ ${JSON_PREFIX}U_$tmp \ ${JSON_PREFIX}K_$tmp \ @@ -125,8 +124,8 @@ json_init() { json_cleanup export -n ${JSON_PREFIX}JSON_SEQ=0 export -- \ - ${JSON_PREFIX}JSON_CUR="JSON_VAR" \ - ${JSON_PREFIX}K_JSON_VAR= + ${JSON_PREFIX}JSON_CUR="J_V" \ + ${JSON_PREFIX}K_J_V= } json_add_object() { @@ -250,13 +249,12 @@ json_select() { local cur [ -z "$1" ] && { - _json_set_var JSON_CUR "JSON_VAR" + _json_set_var JSON_CUR "J_V" return 0 } [[ "$1" == ".." ]] && { _json_get_var cur JSON_CUR _json_get_var cur "U_$cur" - unset "${JSON_PREFIX}U_$cur" _json_set_var JSON_CUR "$cur" return 0 } @@ -264,7 +262,6 @@ json_select() { case "$type" in object|array) json_get_var cur "$target" - _json_get_var "${JSON_PREFIX}U_$cur" JSON_CUR _json_set_var JSON_CUR "$cur" ;; *)