From 8c2d3f46ab4fd7310174a96ca770859dabcf325e Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 30 Nov 2000 00:03:57 +0000 Subject: Fix escape char problem. --- shell/lash.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'shell') diff --git a/shell/lash.c b/shell/lash.c index 7f5b906..87d4fbf 100644 --- a/shell/lash.c +++ b/shell/lash.c @@ -797,9 +797,13 @@ static void globLastArgument(struct childProgram *prog, int *argcPtr, /* we need to remove whatever \ quoting is still present */ src = dst = prog->argv[argc_l - 1]; while (*src) { - if (*src != '\\') + if (*src == '\\') { + src++; + *dst++ = process_escape_sequence(&src); + } else { *dst++ = *src; - src++; + src++; + } } *dst = '\0'; } else if (!rc) { @@ -812,11 +816,16 @@ static void globLastArgument(struct childProgram *prog, int *argcPtr, }else{ src = dst = prog->argv[argc_l - 1]; while (*src) { - if (*src != '\\') + if (*src == '\\') { + src++; + *dst++ = process_escape_sequence(&src); + } else { *dst++ = *src; - src++; + src++; + } } *dst = '\0'; + prog->globResult.gl_pathc=0; if (flags==0) prog->globResult.gl_pathv=NULL; -- cgit v1.1