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 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 | \
|
||||
$CONFIG_AWK_CMD -v configfile=$configfile '
|
||||
BEGIN { section = "" }
|
||||
@ -95,7 +97,7 @@ function merge_config_file {
|
||||
}
|
||||
/^[^ \t]+/ {
|
||||
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
|
||||
|
||||
|
@ -91,6 +91,10 @@ attribute=value
|
||||
[[test4|\$TEST4_DIR/\$TEST4_FILE]]
|
||||
[fff]
|
||||
type=new
|
||||
|
||||
[[test-quote|test-quote.conf]]
|
||||
[foo]
|
||||
foo="foo bar" "baz"
|
||||
EOF
|
||||
|
||||
echo -n "get_meta_section_files: test0 doesn't exist: "
|
||||
@ -206,6 +210,15 @@ EXPECT_VAL="
|
||||
attribute = value"
|
||||
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: "
|
||||
setup_test4
|
||||
merge_config_group test.conf test4
|
||||
@ -225,5 +238,5 @@ EXPECT_VAL="
|
||||
type = new"
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user