aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2000-11-30 00:03:57 +0000
committerEric Andersen <andersen@codepoet.org>2000-11-30 00:03:57 +0000
commit8c2d3f46ab4fd7310174a96ca770859dabcf325e (patch)
tree5379c0ce4f90ecb4d0d2a57aaf29130fececdad0
parent9bd71e832343489bd53c5d2b454252614564787f (diff)
downloadbusybox-w32-8c2d3f46ab4fd7310174a96ca770859dabcf325e.tar.gz
busybox-w32-8c2d3f46ab4fd7310174a96ca770859dabcf325e.tar.bz2
busybox-w32-8c2d3f46ab4fd7310174a96ca770859dabcf325e.zip
Fix escape char problem.
-rw-r--r--lash.c17
-rw-r--r--sh.c17
-rw-r--r--shell/lash.c17
3 files changed, 39 insertions, 12 deletions
diff --git a/lash.c b/lash.c
index 7f5b90602..87d4fbfbd 100644
--- a/lash.c
+++ b/lash.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;
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;
diff --git a/shell/lash.c b/shell/lash.c
index 7f5b90602..87d4fbfbd 100644
--- a/shell/lash.c
+++ b/shell/lash.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;