ruby-changes:5123
From: usa <ko1@a...>
Date: Tue, 27 May 2008 12:13:45 +0900 (JST)
Subject: [ruby-changes:5123] Ruby:r16618 (ruby_1_8): * file.c (BUFCHECK): wrong condition.
usa 2008-05-27 12:13:29 +0900 (Tue, 27 May 2008) New Revision: 16618 Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/file.c branches/ruby_1_8/version.h Log: * file.c (BUFCHECK): wrong condition. [ruby-core:16921] * file.c (file_expand_buf): shouldn't use buflen for length of string. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=16618&r2=16617&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/file.c?r1=16618&r2=16617&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/version.h?r1=16618&r2=16617&diff_format=u Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 16617) +++ ruby_1_8/ChangeLog (revision 16618) @@ -1,3 +1,9 @@ +Tue May 27 12:13:17 2008 NAKAMURA Usaku <usa@r...> + + * file.c (BUFCHECK): wrong condition. [ruby-core:16921] + + * file.c (file_expand_buf): shouldn't use buflen for length of string. + Mon May 26 18:24:48 2008 Nobuyoshi Nakada <nobu@r...> * file.c (BUFCHECK): no resize if enough room. Index: ruby_1_8/version.h =================================================================== --- ruby_1_8/version.h (revision 16617) +++ ruby_1_8/version.h (revision 16618) @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.8.7" -#define RUBY_RELEASE_DATE "2008-05-26" +#define RUBY_RELEASE_DATE "2008-05-27" #define RUBY_VERSION_CODE 187 -#define RUBY_RELEASE_CODE 20080526 +#define RUBY_RELEASE_CODE 20080527 #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 5 -#define RUBY_RELEASE_DAY 26 +#define RUBY_RELEASE_DAY 27 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; Index: ruby_1_8/file.c =================================================================== --- ruby_1_8/file.c (revision 16617) +++ ruby_1_8/file.c (revision 16618) @@ -2497,7 +2497,7 @@ #define BUFCHECK(cond) do {\ long bdiff = p - buf;\ - if (!(cond)) {\ + if (cond) {\ do {buflen *= 2;} while (cond);\ rb_str_resize(result, buflen);\ buf = RSTRING_PTR(result);\ @@ -2739,7 +2739,6 @@ p += s-b; } if (p == skiproot(buf) - 1) p++; - buflen = p - buf; #if USE_NTFS *p = '\0'; @@ -2792,12 +2791,13 @@ ++p; BUFCHECK(bdiff + len >= buflen); memcpy(p, wfd.cFileName, len + 1); + p += len; } } #endif if (tainted) OBJ_TAINT(result); - rb_str_set_len(result, buflen); + rb_str_set_len(result, p - buf); return result; } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/