summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-04 13:13:17 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-04 13:13:17 +0000
commitf00babd1a6d9c5ec1b99442e3a38c53ddbb52a62 (patch)
tree6b6e2e04e1be45d91ba00b9cceb746ce022995e0
parent61c11677c8ee20e07dea84a5a3bf8b68ff449188 (diff)
* win32/win32.c (has_redirection): need to execute shell if commandline
includes newline. cf. [ruby-core:24560] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--win32/win32.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 7889a5bbd3..eeb56e9e82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Aug 4 22:10:34 2009 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.c (has_redirection): need to execute shell if commandline
+ includes newline. cf. [ruby-core:24560]
+
Tue Aug 4 15:06:58 2009 Akinori MUSHA <knu@iDaemons.org>
* lib/ipaddr.rb (IPAddr#{eql?,hash}): Add IPAddr#{eql?,hash} so
diff --git a/win32/win32.c b/win32/win32.c
index 8f2a4ac8fa..fc33b1152c 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -1235,8 +1235,8 @@ has_redirection(const char *cmd)
const char *ptr;
//
- // Scan the string, looking for redirection (< or >) or pipe
- // characters (|) that are not in a quoted string
+ // Scan the string, looking for redirection characters (< or >), pipe
+ // character (|) or newline (\n) that are not in a quoted string
//
for (ptr = cmd; *ptr;) {
@@ -1253,6 +1253,7 @@ has_redirection(const char *cmd)
case '>':
case '<':
case '|':
+ case '\n':
if (!quote)
return TRUE;
ptr++;