jshn: do not collapse whitespace in json_load()
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 15 Jul 2014 13:57:47 +0000 (15:57 +0200)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 16 Jul 2014 18:36:13 +0000 (20:36 +0200)
When running the test case below the $key variable holds "foo bar" instead
of the expected "foo  bar".

-- 8< --
. /usr/share/libubox/jshn.sh
json_init
json_load '{ "key": "foo  bar" }'
json_get_var key key
-- >8 --

Quote the output of the "jshn -r" backtick expression to prevent the shell
from erroneously collapsing whitespace.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
sh/jshn.sh

index 06ba965..5db1667 100644 (file)
@@ -174,7 +174,7 @@ json_add_double() {
 # functions read access to json variables
 
 json_load() {
 # functions read access to json variables
 
 json_load() {
-       eval `jshn -r "$1"`
+       eval "`jshn -r "$1"`"
 }
 
 json_dump() {
 }
 
 json_dump() {