hush: nommu fix for function passing
This commit is contained in:
@@ -5328,9 +5328,12 @@ static int parse_stream_dquoted(o_string *as_string,
|
|||||||
* within double quotes by preceding it with a backslash.
|
* within double quotes by preceding it with a backslash.
|
||||||
*/
|
*/
|
||||||
if (strchr("$`\"\\", next) != NULL) {
|
if (strchr("$`\"\\", next) != NULL) {
|
||||||
o_addqchr(dest, i_getch(input));
|
ch = i_getch(input);
|
||||||
|
o_addqchr(dest, ch);
|
||||||
|
nommu_addchr(as_string, ch);
|
||||||
} else {
|
} else {
|
||||||
o_addqchr(dest, '\\');
|
o_addqchr(dest, '\\');
|
||||||
|
nommu_addchr(as_string, '\\');
|
||||||
}
|
}
|
||||||
goto again;
|
goto again;
|
||||||
}
|
}
|
||||||
|
|||||||
2
shell/hush_test/hush-misc/func4.right
Normal file
2
shell/hush_test/hush-misc/func4.right
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
24
|
||||||
|
Done
|
||||||
7
shell/hush_test/hush-misc/func4.tests
Executable file
7
shell/hush_test/hush-misc/func4.tests
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
func() {
|
||||||
|
eval "echo \"\${val_${1}}\""
|
||||||
|
}
|
||||||
|
|
||||||
|
val_x=24
|
||||||
|
(func x)
|
||||||
|
echo Done
|
||||||
@@ -67,6 +67,7 @@ HERE
|
|||||||
f >/dev/null
|
f >/dev/null
|
||||||
: $((i++))
|
: $((i++))
|
||||||
done
|
done
|
||||||
|
unset i l t
|
||||||
unset -f f
|
unset -f f
|
||||||
|
|
||||||
memleak
|
memleak
|
||||||
@@ -134,6 +135,7 @@ HERE
|
|||||||
f >/dev/null
|
f >/dev/null
|
||||||
: $((i++))
|
: $((i++))
|
||||||
done
|
done
|
||||||
|
unset i l t
|
||||||
unset -f f
|
unset -f f
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user