diff options
-rw-r--r-- | lash.c | 21 | ||||
-rw-r--r-- | sh.c | 21 | ||||
-rw-r--r-- | shell/lash.c | 21 |
3 files changed, 33 insertions, 30 deletions
@@ -1003,16 +1003,6 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi returnCommand = *commandPtr + (src - *commandPtr) + 1; break; - case '\\': - src++; - if (!*src) { - errorMsg("character expected after \\\n"); - freeJob(job); - return 1; - } - if (*src == '*' || *src == '[' || *src == ']' - || *src == '?') *buf++ = '\\'; - /* fallthrough */ #ifdef BB_FEATURE_SH_BACKTICKS case '`': /* Exec a backtick-ed command */ @@ -1082,6 +1072,17 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi } break; #endif // BB_FEATURE_SH_BACKTICKS + + case '\\': + src++; + if (!*src) { + errorMsg("character expected after \\\n"); + freeJob(job); + return 1; + } + if (*src == '*' || *src == '[' || *src == ']' + || *src == '?') *buf++ = '\\'; + /* fallthrough */ default: *buf++ = *src; } @@ -1003,16 +1003,6 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi returnCommand = *commandPtr + (src - *commandPtr) + 1; break; - case '\\': - src++; - if (!*src) { - errorMsg("character expected after \\\n"); - freeJob(job); - return 1; - } - if (*src == '*' || *src == '[' || *src == ']' - || *src == '?') *buf++ = '\\'; - /* fallthrough */ #ifdef BB_FEATURE_SH_BACKTICKS case '`': /* Exec a backtick-ed command */ @@ -1082,6 +1072,17 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi } break; #endif // BB_FEATURE_SH_BACKTICKS + + case '\\': + src++; + if (!*src) { + errorMsg("character expected after \\\n"); + freeJob(job); + return 1; + } + if (*src == '*' || *src == '[' || *src == ']' + || *src == '?') *buf++ = '\\'; + /* fallthrough */ default: *buf++ = *src; } diff --git a/shell/lash.c b/shell/lash.c index b4b11fb..7bc4319 100644 --- a/shell/lash.c +++ b/shell/lash.c @@ -1003,16 +1003,6 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi returnCommand = *commandPtr + (src - *commandPtr) + 1; break; - case '\\': - src++; - if (!*src) { - errorMsg("character expected after \\\n"); - freeJob(job); - return 1; - } - if (*src == '*' || *src == '[' || *src == ']' - || *src == '?') *buf++ = '\\'; - /* fallthrough */ #ifdef BB_FEATURE_SH_BACKTICKS case '`': /* Exec a backtick-ed command */ @@ -1082,6 +1072,17 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi } break; #endif // BB_FEATURE_SH_BACKTICKS + + case '\\': + src++; + if (!*src) { + errorMsg("character expected after \\\n"); + freeJob(job); + return 1; + } + if (*src == '*' || *src == '[' || *src == ']' + || *src == '?') *buf++ = '\\'; + /* fallthrough */ default: *buf++ = *src; } |