diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | array.c | 4 |
2 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Mon Jan 26 16:00:40 2009 Nobuyoshi Nakada <[email protected]> + + * array.c (rb_ary_aset): fixed arguments evaluation order. + Mon Jan 26 15:49:42 2009 Nobuyoshi Nakada <[email protected]> * lib/pathname.rb (chop_basename, prepend_prefix): use o option. @@ -1187,7 +1187,9 @@ rb_ary_aset(argc, argv, ary) if (SYMBOL_P(argv[1])) { rb_raise(rb_eTypeError, "Symbol as subarray length"); } - rb_ary_splice(ary, NUM2LONG(argv[0]), NUM2LONG(argv[1]), argv[2]); + beg = NUM2LONG(argv[0]); + len = NUM2LONG(argv[1]); + rb_ary_splice(ary, beg, len, argv[2]); return argv[2]; } if (argc != 2) { |