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

ruby-changes:11696

From: yugui <ko1@a...>
Date: Mon, 4 May 2009 21:31:20 +0900 (JST)
Subject: [ruby-changes:11696] Ruby:r23336 (ruby_1_9_1): merges r23189 from trunk into ruby_1_9_1.

yugui	2009-05-04 21:30:26 +0900 (Mon, 04 May 2009)

  New Revision: 23336

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

  Log:
    merges r23189 from trunk into ruby_1_9_1.
    --
    * dir.c (bracket): if same in bytes, path is matching.
      [ruby-dev:38305]

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

Index: ruby_1_9_1/ChangeLog
===================================================================
--- ruby_1_9_1/ChangeLog	(revision 23335)
+++ ruby_1_9_1/ChangeLog	(revision 23336)
@@ -1,3 +1,8 @@
+Tue Apr 14 18:11:26 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* dir.c (bracket): if same in bytes, path is matching.
+	  [ruby-dev:38305]
+
 Sun Apr 12 19:54:56 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* dir.c (bracket, fnmatch_helper): compare bytewise first, to get
Index: ruby_1_9_1/dir.c
===================================================================
--- ruby_1_9_1/dir.c	(revision 23335)
+++ ruby_1_9_1/dir.c	(revision 23336)
@@ -109,7 +109,7 @@
 	    t1++;
 	if (!*t1)
 	    return NULL;
-	p += (r = rb_enc_mbclen(p, pend, enc));
+	p += (r = rb_enc_mbclen(t1, pend, enc));
 	if (p[0] == '-' && p[1] != ']') {
 	    const char *t2 = p + 1;
 	    int r2;
@@ -135,7 +135,10 @@
 	}
 	else {
 	    if (ok) continue;
-	    if (r <= (send-s) && memcmp(p, s, r) == 0) continue;
+	    if (r <= (send-s) && memcmp(t1, s, r) == 0) {
+		ok = 1;
+		continue;
+	    }
 	    if (!nocase) continue;
 	    c1 = rb_enc_toupper(rb_enc_codepoint(s, send, enc), enc);
 	    c2 = rb_enc_toupper(rb_enc_codepoint(p, pend, enc), enc);

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

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