escape backquote characters
PATCH 1/1 escape backquote characters
Hi,
due to problems introduced by my backquote patches, I have changed nfsim to escape backquotes in its escape() function. Additionally, process_line() does not interpret a character after a backslash. That allows you to write backquotes (escaped with backslash) in nfsim tests, which are not executed by the shell.
Max
Wed Oct 12 13:50:19 CEST 2005 [email protected]
* escape backquote character
core/tui.c +5 -2
@@ -258,9 +258,9 @@ }else if (src[i] =='\t' ) { *p++ ='\\' ; *p++ ='t' ; - }else if (src[i] =='\\' ) { - *p++ ='\\' ; + }else if (src[i] =='\\' || src[i] =='`' ) { *p++ ='\\' ; + *p++ = src[i]; }else if (src[i] &0x80 || (src[i] &0xe0 ) ==0 ) { *p++ ='\\' ; *p++ ='x' ;
@@ -354,6 +354,9 @@ }else if (line[i] =='`' ) {char *inside =backquote (line, &i); argv[argc] =append_string (argv, argc, inside); + }else if (line[i] =='\\' && line[i +1 ]) { + argv[argc] =append_char (argv, argc, line[i]); + argv[argc] =append_char (argv, argc, line[++i]); }else {/* If it is a comment, stop before we process `` */ if (!argv[0 ] && line[i] =='#' )
Wed Oct 12 13:51:53 CEST 2005 [email protected]
* add test for escaped backquote
testsuite/backquote.sim +9 -0
@@ -18,3 +18,12 @@ expect echo far0boo echo `echo -n far`0`echo -n boo` + +expect echo `echo -n \\` +echo \\ + +expect echo `echo -en "\x60"` +echo \` + +expect echo \\foo +echo \\`echo -n foo`