From f0866c5197ee0c01fd1ded16e364cbe612c271be Mon Sep 17 00:00:00 2001 From: john haque Date: Sun, 21 Aug 2011 05:54:38 -0500 Subject: Add a test file, cleanup code and update doc. --- command.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'command.c') diff --git a/command.c b/command.c index b705d5e0..c3fea2b8 100644 --- a/command.c +++ b/command.c @@ -3177,6 +3177,7 @@ again: if (c == '"') { char *str, *p; + int flags = ALREADY_MALLOCED; int esc_seen = FALSE; toklen = lexend - lexptr; @@ -3209,12 +3210,10 @@ err: append_cmdarg(yylval); return D_STRING; } else { /* awk string */ - size_t len; - len = p - str; if (esc_seen) - len = scan_escape(str, len); + flags |= SCAN; yylval = mk_cmdarg(D_node); - yylval->a_node = make_str_node(str, len); + yylval->a_node = make_str_node(str, p - str, flags); append_cmdarg(yylval); return D_NODE; } @@ -3364,7 +3363,7 @@ concat_args(CMDARG *arg, int count) } str[len] = '\0'; efree(tmp); - return make_str_node(str, len); + return make_str_node(str, len, ALREADY_MALLOCED); } /* find_command --- find the index in 'cmdtab' using exact, -- cgit v1.2.3