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

ruby-changes:4745

From: ko1@a...
Date: Wed, 30 Apr 2008 17:47:41 +0900 (JST)
Subject: [ruby-changes:4745] nobu - Ruby:r16239 (ruby_1_8, trunk): * re.c (rb_reg_search): use local variable. a patch from wanabe

nobu	2008-04-30 17:47:23 +0900 (Wed, 30 Apr 2008)

  New Revision: 16239

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/re.c
    branches/ruby_1_8/version.h
    trunk/ChangeLog
    trunk/re.c

  Log:
    * re.c (rb_reg_search): use local variable.  a patch from wanabe
      <s.wanabe AT gmail.com> in [ruby-dev:34537].  [ruby-dev:34492]


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/re.c?r1=16239&r2=16238&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=16239&r2=16238&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=16239&r2=16238&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/re.c?r1=16239&r2=16238&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/version.h?r1=16239&r2=16238&diff_format=u

Index: re.c
===================================================================
--- re.c	(revision 16238)
+++ re.c	(revision 16239)
@@ -1255,7 +1255,7 @@
 {
     int result;
     VALUE match;
-    static struct re_registers regs;
+    struct re_registers regs;
     char *range = RSTRING_PTR(str);
     regex_t *reg0 = RREGEXP(re)->ptr, *reg;
     int busy = FL_TEST(re, REG_BUSY);
@@ -1271,6 +1271,7 @@
     if (!reverse) {
 	range += RSTRING_LEN(str);
     }
+    MEMZERO(&regs, struct re_registers, 1);
     result = onig_search(reg,
 			 (UChar*)(RSTRING_PTR(str)),
 			 ((UChar*)(RSTRING_PTR(str)) + RSTRING_LEN(str)),
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 16238)
+++ ChangeLog	(revision 16239)
@@ -1,3 +1,8 @@
+Wed Apr 30 17:47:21 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* re.c (rb_reg_search): use local variable.  a patch from wanabe
+	  <s.wanabe AT gmail.com> in [ruby-dev:34537].  [ruby-dev:34492]
+
 Wed Apr 30 16:10:18 2008  Yusuke Endoh  <mame@t...>
 
 	* eval_intern.h: speficy the values of the enumeration constants
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 16238)
+++ ruby_1_8/ChangeLog	(revision 16239)
@@ -1,3 +1,8 @@
+Wed Apr 30 17:47:21 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* re.c (rb_reg_search): use local variable.  a patch from wanabe
+	  <s.wanabe AT gmail.com> in [ruby-dev:34537].  [ruby-dev:34492]
+
 Sat Apr 26 19:40:34 2008  Guy Decoux  <decoux@m...>
 
 	* class.c (struct clone_method_data): Add cref.
Index: ruby_1_8/re.c
===================================================================
--- ruby_1_8/re.c	(revision 16238)
+++ ruby_1_8/re.c	(revision 16239)
@@ -78,7 +78,7 @@
     int tmp;
 
     while (len--) {
-	if (tmp = casetable[(unsigned)*p1++] - casetable[(unsigned)*p2++])
+	if ((tmp = casetable[(unsigned)*p1++] - casetable[(unsigned)*p2++]) != 0)
 	    return tmp;
     }
     return 0;
@@ -892,7 +892,7 @@
 {
     long result;
     VALUE match;
-    static struct re_registers regs;
+    struct re_registers regs;
     long range;
 
     if (pos > RSTRING(str)->len || pos < 0) {
@@ -914,6 +914,7 @@
     else {
 	range = RSTRING(str)->len - pos;
     }
+    MEMZERO(&regs, struct re_registers, 1);
     result = re_search(RREGEXP(re)->ptr,RSTRING(str)->ptr,RSTRING(str)->len,
 		       pos, range, &regs);
 
Index: ruby_1_8/version.h
===================================================================
--- ruby_1_8/version.h	(revision 16238)
+++ ruby_1_8/version.h	(revision 16239)
@@ -1,7 +1,7 @@
 #define RUBY_VERSION "1.8.7"
-#define RUBY_RELEASE_DATE "2008-04-26"
+#define RUBY_RELEASE_DATE "2008-04-30"
 #define RUBY_VERSION_CODE 187
-#define RUBY_RELEASE_CODE 20080426
+#define RUBY_RELEASE_CODE 20080430
 #define RUBY_PATCHLEVEL 5000
 
 #define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
 #define RUBY_VERSION_TEENY 7
 #define RUBY_RELEASE_YEAR 2008
 #define RUBY_RELEASE_MONTH 4
-#define RUBY_RELEASE_DAY 26
+#define RUBY_RELEASE_DAY 30
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];

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

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