diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-25 08:54:29 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-25 08:54:29 +0000 |
commit | 5ba27573a0d179d0a39d9997cfde000b20cd0b87 (patch) | |
tree | b25c4de31f7659071e51057cc252a37cd8f26008 /insns.def | |
parent | c2a734ea9946f88109b5ffc4507af66eed7f8cc8 (diff) | |
download | ruby-5ba27573a0d179d0a39d9997cfde000b20cd0b87.tar.gz |
* string.c, include/ruby/intern.h: export rb_str_length().
* insns.def: use rb_str_lengt() in opt_length.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'insns.def')
-rw-r--r-- | insns.def | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1951,11 +1951,11 @@ opt_length { if (!SPECIAL_CONST_P(recv) && BASIC_OP_UNREDEFINED_P(BOP_LENGTH)) { - if (HEAP_CLASS_OF(recv) == rb_cArray) { - val = LONG2NUM(RARRAY_LEN(recv)); + if (HEAP_CLASS_OF(recv) == rb_cString) { + val = rb_str_length(recv); } - else if (HEAP_CLASS_OF(recv) == rb_cString) { - val = LONG2NUM(RSTRING_LEN(recv)); + else if (HEAP_CLASS_OF(recv) == rb_cArray) { + val = LONG2NUM(RARRAY_LEN(recv)); } else if (HEAP_CLASS_OF(recv) == rb_cHash) { val = INT2FIX(RHASH(recv)->tbl->num_entries); |