[前][次][番号順一覧][スレッド一覧]

ruby-changes:9478

From: yugui <ko1@a...>
Date: Thu, 25 Dec 2008 18:54:27 +0900 (JST)
Subject: [ruby-changes:9478] Ruby:r21016 (ruby_1_9_1): merges r20945 from trunk into ruby_1_9_1.

yugui	2008-12-25 18:54:07 +0900 (Thu, 25 Dec 2008)

  New Revision: 21016

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21016

  Log:
    merges r20945 from trunk into ruby_1_9_1.
    * win32/win32.c (rb_w32_spawn): deals with quoted commands.

  Modified files:
    branches/ruby_1_9_1/ChangeLog
    branches/ruby_1_9_1/win32/win32.c

Index: ruby_1_9_1/ChangeLog
===================================================================
--- ruby_1_9_1/ChangeLog	(revision 21015)
+++ ruby_1_9_1/ChangeLog	(revision 21016)
@@ -1,3 +1,7 @@
+Tue Dec 23 19:51:24 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* win32/win32.c (rb_w32_spawn): deals with quoted commands.
+
 Tue Dec 23 18:44:21 2008  Tanaka Akira  <akr@f...>
 
 	* strftime.c (rb_strftime): use locale insensitive functions for tr_TR
Index: ruby_1_9_1/win32/win32.c
===================================================================
--- ruby_1_9_1/win32/win32.c	(revision 21015)
+++ ruby_1_9_1/win32/win32.c	(revision 21016)
@@ -918,6 +918,13 @@
 	}
 	else {
 	    int len = 0;
+	    if (*cmd == '"') {
+		for (prog = cmd + 1; *prog && *prog != '"'; prog = CharNext(prog));
+		len = prog - cmd - 1;
+		STRNDUPA(p, cmd + 1, len);
+		p = dln_find_exe_r(p, NULL, fbuf, sizeof(fbuf));
+		if (p) goto command_found;
+	    }
 	    for (prog = cmd; *prog; prog = CharNext(prog)) {
 		if (ISSPACE(*prog)) {
 		    len = prog - cmd;
@@ -955,6 +962,7 @@
 	}
     }
     if (p) {
+      command_found:
 	shell = p;
 	translate_char(p, '/', '\\');
     }

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]