From: Ilya Zakharevich Date: Thu, 10 Jun 1999 04:05:22 +0000 (-0400) Subject: Optimize 2>&1 in commands X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=603a98b057dc0594e88193eb408d3eea3f3e4908;p=p5sagit%2Fp5-mst-13.2.git Optimize 2>&1 in commands Message-Id: <199906100805.EAA18216@monk.mps.ohio-state.edu> p4raw-id: //depot/perl@3621 --- diff --git a/doio.c b/doio.c index 39e2e9f..7c093ae 100644 --- a/doio.c +++ b/doio.c @@ -1126,6 +1126,20 @@ Perl_do_exec3(pTHX_ char *cmd, int fd, int do_report) *s = '\0'; break; } + /* handle the 2>&1 construct at the end */ + if (*s == '>' && s[1] == '&' && s[2] == '1' + && s > cmd + 1 && s[-1] == '2' && isSPACE(s[-2]) + && (!s[3] || isSPACE(s[3]))) + { + char *t = s + 3; + + while (*t && isSPACE(*t)) + ++t; + if (!*t && (dup2(1,2) != -1)) { + s[-2] = '\0'; + break; + } + } doshell: PerlProc_execl(PL_sh_path, "sh", "-c", cmd, (char*)0); return FALSE;