Skip to content

Commit e9fae3a

Browse files
committed
merge revision(s) 20354:
* string.c (str_independent): no independent string points null_str. [ruby-core:20082] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@22366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1 parent 6af5a79 commit e9fae3a

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

ChangeLog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
Tue Feb 17 11:58:58 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
2+
3+
* string.c (str_independent): no independent string points null_str.
4+
[ruby-core:20082]
5+
16
Mon Feb 16 23:30:24 2009 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
27

38
* ext/tk/lib/tkextlib/blt.rb, ext/tk/lib/tkextlib/blt/vector.rb:

string.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,6 +471,8 @@ rb_str_format_m(str, arg)
471471
return rb_str_format(1, &arg, str);
472472
}
473473

474+
static const char null_str[] = "";
475+
474476
static int
475477
str_independent(str)
476478
VALUE str;
@@ -481,6 +483,7 @@ str_independent(str)
481483
if (OBJ_FROZEN(str)) rb_error_frozen("string");
482484
if (!OBJ_TAINTED(str) && rb_safe_level() >= 4)
483485
rb_raise(rb_eSecurityError, "Insecure: can't modify string");
486+
if (RSTRING(str)->ptr == null_str) return 0;
484487
if (!FL_TEST(str, ELTS_SHARED)) return 1;
485488
return 0;
486489
}
@@ -539,7 +542,6 @@ rb_str_associated(str)
539542
return Qfalse;
540543
}
541544

542-
static const char null_str[] = "";
543545
#define make_null_str(s) do { \
544546
FL_SET(s, ELTS_SHARED); \
545547
RSTRING(s)->ptr = (char *)null_str; \

version.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
#define RUBY_VERSION "1.8.7"
2-
#define RUBY_RELEASE_DATE "2009-02-16"
2+
#define RUBY_RELEASE_DATE "2009-02-17"
33
#define RUBY_VERSION_CODE 187
4-
#define RUBY_RELEASE_CODE 20090216
5-
#define RUBY_PATCHLEVEL 122
4+
#define RUBY_RELEASE_CODE 20090217
5+
#define RUBY_PATCHLEVEL 123
66

77
#define RUBY_VERSION_MAJOR 1
88
#define RUBY_VERSION_MINOR 8
99
#define RUBY_VERSION_TEENY 7
1010
#define RUBY_RELEASE_YEAR 2009
1111
#define RUBY_RELEASE_MONTH 2
12-
#define RUBY_RELEASE_DAY 16
12+
#define RUBY_RELEASE_DAY 17
1313

1414
#ifdef RUBY_EXTERN
1515
RUBY_EXTERN const char ruby_version[];

0 commit comments

Comments
 (0)