ruby-changes:23868
From: akr <ko1@a...>
Date: Tue, 5 Jun 2012 19:21:31 +0900 (JST)
Subject: [ruby-changes:23868] akr:r35919 (trunk): * process.c (rb_exec_fillarg): bail out a loop eagerly.
akr 2012-06-05 19:21:22 +0900 (Tue, 05 Jun 2012) New Revision: 35919 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35919 Log: * process.c (rb_exec_fillarg): bail out a loop eagerly. Modified files: trunk/ChangeLog trunk/process.c Index: ChangeLog =================================================================== --- ChangeLog (revision 35918) +++ ChangeLog (revision 35919) @@ -1,3 +1,7 @@ +Tue Jun 5 19:21:10 2012 Tanaka Akira <akr@f...> + + * process.c (rb_exec_fillarg): bail out a loop eagerly. + Tue Jun 5 19:15:14 2012 Tanaka Akira <akr@f...> * process.c: add comments about async-signal-safe. Index: process.c =================================================================== --- process.c (revision 35918) +++ process.c (revision 35919) @@ -1805,10 +1805,12 @@ int has_meta = 0; int has_nonspace = 0; for (p = RSTRING_PTR(prog); *p; p++) { - if (*p != ' ' && *p != '\t') + if (!has_nonspace && *p != ' ' && *p != '\t') has_nonspace = 1; - if (strchr("*?{}[]<>()~&|\\$;'`\"\n", *p)) + if (!has_meta && strchr("*?{}[]<>()~&|\\$;'`\"\n", *p)) has_meta = 1; + if (has_nonspace && has_meta) + break; } if (has_nonspace && !has_meta) { /* avoid shell since no shell meta charactor found. */ -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/