summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenis Vlasenko2008-07-24 13:41:37 +0000
committerDenis Vlasenko2008-07-24 13:41:37 +0000
commit6514c5e35c31624d5e92400a7ce261c9e93774fe (patch)
tree57c2c0ac2c04d7cba9b1ad3b4627264076d5b6a8 /shell
parent8d924ecf38fe4a9008c7d791ee51e7f8638e885e (diff)
downloadbusybox-6514c5e35c31624d5e92400a7ce261c9e93774fe.zip
busybox-6514c5e35c31624d5e92400a7ce261c9e93774fe.tar.gz
ash: ducument where "no fds > 9 in redirects" limitation is.
no code changes.
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 8f31436..6de71f6 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -8705,8 +8705,8 @@ evalcommand(union node *cmd, int flags)
for (;;) {
find_command(argv[0], &cmdentry, cmd_flag, path);
if (cmdentry.cmdtype == CMDUNKNOWN) {
- status = 127;
flush_stderr();
+ status = 127;
goto bail;
}
@@ -8812,12 +8812,13 @@ evalcommand(union node *cmd, int flags)
out:
popredir(cmd_is_exec);
- if (lastarg)
+ if (lastarg) {
/* dsl: I think this is intended to be used to support
* '_' in 'vi' command mode during line editing...
* However I implemented that within libedit itself.
*/
setvar("_", lastarg, 0);
+ }
popstackmark(&smark);
}
@@ -10649,7 +10650,7 @@ readtoken1(int firstc, int syntax, char *eofmark, int striptabs)
if (eofmark == NULL) {
if ((c == '>' || c == '<')
&& quotef == 0
- && len <= 2
+ && len <= 2 // THIS LIMITS fd to 1 char: N>file, but no NN>file!
&& (*out == '\0' || isdigit(*out))
) {
PARSEREDIR();