зеркало из https://github.com/github/ruby.git
* string.c (rb_string_value_ptr, rb_to_id): do not use a side
effect expression in RSTRING_PTR. * string.c (rb_str_split_m): simplified the argument of RSTRING_LEN. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
279363b615
Коммит
dab7d5d8e3
|
@ -1,3 +1,11 @@
|
|||
Fri Dec 12 10:19:21 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* string.c (rb_string_value_ptr, rb_to_id): do not use a side
|
||||
effect expression in RSTRING_PTR.
|
||||
|
||||
* string.c (rb_str_split_m): simplified the argument of
|
||||
RSTRING_LEN.
|
||||
|
||||
Thu Dec 11 23:48:00 2008 Tadayoshi Funaba <tadf@dotrb.org>
|
||||
|
||||
* lib/cmath.rb (sqrt): should pass nan to the original method.
|
||||
|
|
11
string.c
11
string.c
|
@ -1240,7 +1240,8 @@ rb_string_value(volatile VALUE *ptr)
|
|||
char *
|
||||
rb_string_value_ptr(volatile VALUE *ptr)
|
||||
{
|
||||
return RSTRING_PTR(rb_string_value(ptr));
|
||||
VALUE str = rb_string_value(ptr);
|
||||
return RSTRING_PTR(str);
|
||||
}
|
||||
|
||||
char *
|
||||
|
@ -5433,8 +5434,9 @@ rb_str_split_m(int argc, VALUE *argv, VALUE str)
|
|||
rb_ary_push(result, tmp);
|
||||
}
|
||||
if (NIL_P(limit) && lim == 0) {
|
||||
while (RARRAY_LEN(result) > 0 &&
|
||||
RSTRING_LEN(RARRAY_PTR(result)[RARRAY_LEN(result)-1]) == 0)
|
||||
long len;
|
||||
while ((len = RARRAY_LEN(result)) > 0 &&
|
||||
(tmp = RARRAY_PTR(result)[len-1], RSTRING_LEN(tmp) == 0))
|
||||
rb_ary_pop(result);
|
||||
}
|
||||
|
||||
|
@ -7030,8 +7032,9 @@ rb_to_id(VALUE name)
|
|||
default:
|
||||
tmp = rb_check_string_type(name);
|
||||
if (NIL_P(tmp)) {
|
||||
tmp = rb_inspect(name);
|
||||
rb_raise(rb_eTypeError, "%s is not a symbol",
|
||||
RSTRING_PTR(rb_inspect(name)));
|
||||
RSTRING_PTR(tmp));
|
||||
}
|
||||
name = tmp;
|
||||
/* fall through */
|
||||
|
|
Загрузка…
Ссылка в новой задаче