Single quote iniset argument in merge_config_file
If we don't single quote the extracted argument to iniset we drop any quotes from the source. Add a simple test-case for this. Partial-bug: #1374118 Change-Id: If2f47b64b11015e727a011c7e5f6e8ad378b90eb
This commit is contained in:
parent
690e3c2574
commit
e2c9fee8ed
@ -82,6 +82,8 @@ function merge_config_file {
|
|||||||
local matchgroup=$2
|
local matchgroup=$2
|
||||||
local configfile=$3
|
local configfile=$3
|
||||||
|
|
||||||
|
# note in the awk below, \x27 is ascii for ' -- this avoids
|
||||||
|
# having to do nasty quoting games
|
||||||
get_meta_section $file $matchgroup $configfile | \
|
get_meta_section $file $matchgroup $configfile | \
|
||||||
$CONFIG_AWK_CMD -v configfile=$configfile '
|
$CONFIG_AWK_CMD -v configfile=$configfile '
|
||||||
BEGIN { section = "" }
|
BEGIN { section = "" }
|
||||||
@ -95,7 +97,7 @@ function merge_config_file {
|
|||||||
}
|
}
|
||||||
/^[^ \t]+/ {
|
/^[^ \t]+/ {
|
||||||
split($0, d, " *= *")
|
split($0, d, " *= *")
|
||||||
print "iniset " configfile " " section " " d[1] " \"" d[2] "\""
|
print "iniset " configfile " " section " " d[1] " \x27" d[2] "\x27 "
|
||||||
}
|
}
|
||||||
' | while read a; do eval "$a"; done
|
' | while read a; do eval "$a"; done
|
||||||
|
|
||||||
|
@ -91,6 +91,10 @@ attribute=value
|
|||||||
[[test4|\$TEST4_DIR/\$TEST4_FILE]]
|
[[test4|\$TEST4_DIR/\$TEST4_FILE]]
|
||||||
[fff]
|
[fff]
|
||||||
type=new
|
type=new
|
||||||
|
|
||||||
|
[[test-quote|test-quote.conf]]
|
||||||
|
[foo]
|
||||||
|
foo="foo bar" "baz"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo -n "get_meta_section_files: test0 doesn't exist: "
|
echo -n "get_meta_section_files: test0 doesn't exist: "
|
||||||
@ -206,6 +210,15 @@ EXPECT_VAL="
|
|||||||
attribute = value"
|
attribute = value"
|
||||||
check_result "$VAL" "$EXPECT_VAL"
|
check_result "$VAL" "$EXPECT_VAL"
|
||||||
|
|
||||||
|
echo -n "merge_config_file test-quote: "
|
||||||
|
rm -f test-quote.conf
|
||||||
|
merge_config_file test.conf test-quote test-quote.conf
|
||||||
|
VAL=$(cat test-quote.conf)
|
||||||
|
EXPECT_VAL='
|
||||||
|
[foo]
|
||||||
|
foo = "foo bar" "baz"'
|
||||||
|
check_result "$VAL" "$EXPECT_VAL"
|
||||||
|
|
||||||
echo -n "merge_config_group test4 variable filename: "
|
echo -n "merge_config_group test4 variable filename: "
|
||||||
setup_test4
|
setup_test4
|
||||||
merge_config_group test.conf test4
|
merge_config_group test.conf test4
|
||||||
@ -225,5 +238,5 @@ EXPECT_VAL="
|
|||||||
type = new"
|
type = new"
|
||||||
check_result "$VAL" "$EXPECT_VAL"
|
check_result "$VAL" "$EXPECT_VAL"
|
||||||
|
|
||||||
rm -f test.conf test1c.conf test2a.conf test-space.conf
|
rm -f test.conf test1c.conf test2a.conf test-quote.conf test-space.conf
|
||||||
rm -rf test-etc
|
rm -rf test-etc
|
||||||
|
Loading…
Reference in New Issue
Block a user