diff options
author | Eric Andersen <andersen@codepoet.org> | 2000-12-11 22:14:40 +0300 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2000-12-11 22:14:40 +0300 |
commit | b2356f6de94820291f35d63943a622708546b59c (patch) | |
tree | bd50b81de4d0c86b1bb73655ac1b511e33041ff0 | |
parent | 59ec601b8e4db86e1861d12f4efc6d1dbb440e28 (diff) |
Patch from Matt Kraai to fox sh.c escape problem such that
running things like 'echo "\n\tHi\n\t\!"' and 'echo -e "\n\tHi\n\t\!"'
behave as under bash.
-rw-r--r-- | lash.c | 4 | ||||
-rw-r--r-- | sh.c | 4 | ||||
-rw-r--r-- | shell/lash.c | 4 |
3 files changed, 9 insertions, 3 deletions
@@ -933,8 +933,10 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi } /* in shell, "\'" should yield \' */ - if (*src != quote) + if (*src != quote) { *buf++ = '\\'; + *buf++ = '\\'; + } } else if (*src == '*' || *src == '?' || *src == '[' || *src == ']') *buf++ = '\\'; *buf++ = *src; @@ -933,8 +933,10 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi } /* in shell, "\'" should yield \' */ - if (*src != quote) + if (*src != quote) { *buf++ = '\\'; + *buf++ = '\\'; + } } else if (*src == '*' || *src == '?' || *src == '[' || *src == ']') *buf++ = '\\'; *buf++ = *src; diff --git a/shell/lash.c b/shell/lash.c index 07715d4e3..9fc215c98 100644 --- a/shell/lash.c +++ b/shell/lash.c @@ -933,8 +933,10 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi } /* in shell, "\'" should yield \' */ - if (*src != quote) + if (*src != quote) { *buf++ = '\\'; + *buf++ = '\\'; + } } else if (*src == '*' || *src == '?' || *src == '[' || *src == ']') *buf++ = '\\'; *buf++ = *src; |