mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
* node.h (NODE_TYPESHIFT): allow 4 more bits for line numbers.
[ruby-talk:117841] * ruby.h (FL_ABLE): nodes are not subject for flag operations. * io.c (ARGF_FORWARD): should have specified argv explicitly, since we no longer have frame->argv saved. [ruby-dev:24602] * string.c (RESIZE_CAPA): check string attribute before modifying capacity member of string structure. [ruby-dev:24594] * ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain performance. [ruby-talk:117701] * sprintf.c (rb_f_sprintf): raise ArgumentError for extra arguments, unless (digit)$ style used. * io.c (rb_io_fptr_finalize): leave stdin/stdout/stderr open in interpreter termination. [ruby-dev:24579] * eval.c (frame_free): Guy Decoux solved the leak problem. Thanks. [ruby-core:03549] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
6ffdbac5ed
commit
018837b84f
18 changed files with 149 additions and 80 deletions
15
array.c
15
array.c
|
@ -816,9 +816,6 @@ rb_ary_aref(argc, argv, ary)
|
|||
long beg, len;
|
||||
|
||||
if (argc == 2) {
|
||||
if (SYMBOL_P(argv[0])) {
|
||||
rb_raise(rb_eTypeError, "Symbol as array index");
|
||||
}
|
||||
beg = NUM2LONG(argv[0]);
|
||||
len = NUM2LONG(argv[1]);
|
||||
if (beg < 0) {
|
||||
|
@ -834,9 +831,6 @@ rb_ary_aref(argc, argv, ary)
|
|||
if (FIXNUM_P(arg)) {
|
||||
return rb_ary_entry(ary, FIX2LONG(arg));
|
||||
}
|
||||
if (SYMBOL_P(arg)) {
|
||||
rb_raise(rb_eTypeError, "Symbol as array index");
|
||||
}
|
||||
/* check if idx is Range */
|
||||
switch (rb_range_beg_len(arg, &beg, &len, RARRAY(ary)->len, 0)) {
|
||||
case Qfalse:
|
||||
|
@ -1178,12 +1172,6 @@ rb_ary_aset(argc, argv, ary)
|
|||
long offset, beg, len;
|
||||
|
||||
if (argc == 3) {
|
||||
if (SYMBOL_P(argv[0])) {
|
||||
rb_raise(rb_eTypeError, "Symbol as array index");
|
||||
}
|
||||
if (SYMBOL_P(argv[1])) {
|
||||
rb_raise(rb_eTypeError, "Symbol as subarray length");
|
||||
}
|
||||
rb_ary_update(ary, NUM2LONG(argv[0]), NUM2LONG(argv[1]), argv[2]);
|
||||
return argv[2];
|
||||
}
|
||||
|
@ -1194,9 +1182,6 @@ rb_ary_aset(argc, argv, ary)
|
|||
offset = FIX2LONG(argv[0]);
|
||||
goto fixnum;
|
||||
}
|
||||
if (SYMBOL_P(argv[0])) {
|
||||
rb_raise(rb_eTypeError, "Symbol as array index");
|
||||
}
|
||||
if (rb_range_beg_len(argv[0], &beg, &len, RARRAY(ary)->len, 1)) {
|
||||
/* check if idx is Range */
|
||||
rb_ary_update(ary, beg, len, argv[1]);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue