aboutsummaryrefslogtreecommitdiff
path: root/sh.c
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2000-11-30 00:03:57 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2000-11-30 00:03:57 +0000
commit030aad492202b3b9c8204a9963960b7b5081b7d0 (patch)
tree5379c0ce4f90ecb4d0d2a57aaf29130fececdad0 /sh.c
parent643ca62ff83262a050a1a09ac72a72556e5d5426 (diff)
downloadbusybox-w32-030aad492202b3b9c8204a9963960b7b5081b7d0.tar.gz
busybox-w32-030aad492202b3b9c8204a9963960b7b5081b7d0.tar.bz2
busybox-w32-030aad492202b3b9c8204a9963960b7b5081b7d0.zip
Fix escape char problem.
git-svn-id: svn://busybox.net/trunk/busybox@1353 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'sh.c')
-rw-r--r--sh.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/sh.c b/sh.c
index 7f5b90602..87d4fbfbd 100644
--- a/sh.c
+++ b/sh.c
@@ -797,9 +797,13 @@ static void globLastArgument(struct childProgram *prog, int *argcPtr,
797 /* we need to remove whatever \ quoting is still present */ 797 /* we need to remove whatever \ quoting is still present */
798 src = dst = prog->argv[argc_l - 1]; 798 src = dst = prog->argv[argc_l - 1];
799 while (*src) { 799 while (*src) {
800 if (*src != '\\') 800 if (*src == '\\') {
801 src++;
802 *dst++ = process_escape_sequence(&src);
803 } else {
801 *dst++ = *src; 804 *dst++ = *src;
802 src++; 805 src++;
806 }
803 } 807 }
804 *dst = '\0'; 808 *dst = '\0';
805 } else if (!rc) { 809 } else if (!rc) {
@@ -812,11 +816,16 @@ static void globLastArgument(struct childProgram *prog, int *argcPtr,
812 }else{ 816 }else{
813 src = dst = prog->argv[argc_l - 1]; 817 src = dst = prog->argv[argc_l - 1];
814 while (*src) { 818 while (*src) {
815 if (*src != '\\') 819 if (*src == '\\') {
820 src++;
821 *dst++ = process_escape_sequence(&src);
822 } else {
816 *dst++ = *src; 823 *dst++ = *src;
817 src++; 824 src++;
825 }
818 } 826 }
819 *dst = '\0'; 827 *dst = '\0';
828
820 prog->globResult.gl_pathc=0; 829 prog->globResult.gl_pathc=0;
821 if (flags==0) 830 if (flags==0)
822 prog->globResult.gl_pathv=NULL; 831 prog->globResult.gl_pathv=NULL;