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(®s, 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(®s, struct re_registers, 1); result = re_search(RREGEXP(re)->ptr,RSTRING(str)->ptr,RSTRING(str)->len, pos, range, ®s); 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/