ruby-changes:8345
From: matz <ko1@a...>
Date: Tue, 21 Oct 2008 22:57:42 +0900 (JST)
Subject: [ruby-changes:8345] Ruby:r19873 (trunk): * io.c (open_key_args): should adjust argc, argv in struct
matz 2008-10-21 22:57:16 +0900 (Tue, 21 Oct 2008) New Revision: 19873 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19873 Log: * io.c (open_key_args): should adjust argc, argv in struct foreach_arg. Modified files: trunk/ChangeLog trunk/hash.c trunk/io.c Index: ChangeLog =================================================================== --- ChangeLog (revision 19872) +++ ChangeLog (revision 19873) @@ -1,3 +1,8 @@ +Tue Oct 21 22:38:58 2008 Yukihiro Matsumoto <matz@r...> + + * io.c (open_key_args): should adjust argc, argv in struct + foreach_arg. + Tue Oct 21 21:52:00 2008 Yukihiro Matsumoto <matz@r...> * ext/zlib/zlib.c (rb_gzwriter_write): conversion should be done Index: io.c =================================================================== --- io.c (revision 19872) +++ io.c (revision 19873) @@ -4597,12 +4597,12 @@ } static VALUE -pop_last_hash(int *argc_p, VALUE **argv_p) +pop_last_hash(int *argc_p, VALUE *argv) { VALUE last, tmp; if (*argc_p == 0) return Qnil; - last = (*argv_p)[*argc_p-1]; + last = argv[*argc_p-1]; tmp = rb_check_convert_type(last, T_HASH, "Hash", "to_hash"); if (NIL_P(tmp)) return Qnil; @@ -4673,7 +4673,7 @@ int oflags, fmode; convconfig_t convconfig; - opt = pop_last_hash(&argc, &argv); + opt = pop_last_hash(&argc, argv); rb_scan_args(argc, argv, "11", &pname, &pmode); rb_io_extract_modeenc(&pmode, 0, opt, &oflags, &fmode, &convconfig); @@ -4716,7 +4716,7 @@ int oflags, fmode; mode_t perm; - opt = pop_last_hash(&argc, &argv); + opt = pop_last_hash(&argc, argv); rb_scan_args(argc, argv, "12", &fname, &vmode, &vperm); FilePathValue(fname); #if defined _WIN32 || defined __APPLE__ @@ -5688,7 +5688,7 @@ rb_secure(4); - opt = pop_last_hash(&argc, &argv); + opt = pop_last_hash(&argc, argv); rb_scan_args(argc, argv, "11", &fnum, &vmode); rb_io_extract_modeenc(&vmode, 0, opt, &oflags, &fmode, &convconfig); @@ -6828,7 +6828,7 @@ VALUE opt; rb_io_t *fptr; - opt = pop_last_hash(&argc, &argv); + opt = pop_last_hash(&argc, argv); rb_scan_args(argc, argv, "02", &v1, &v2); if (rb_pipe(pipes) == -1) rb_sys_fail(0); @@ -6877,7 +6877,7 @@ arg->io = rb_io_open(argv[0], INT2NUM(O_RDONLY), INT2FIX(0666), Qnil); return; } - opt = pop_last_hash(&argc, &argv); + opt = pop_last_hash(&arg->argc, arg->argv); if (NIL_P(opt)) goto no_key; v = rb_hash_aref(opt, sym_open_args); @@ -7684,7 +7684,7 @@ rb_io_t *fptr; VALUE v1, v2, opt; - opt = pop_last_hash(&argc, &argv); + opt = pop_last_hash(&argc, argv); rb_scan_args(argc, argv, "11", &v1, &v2); GetOpenFile(io, fptr); io_encoding_set(fptr, v1, v2, opt); Index: hash.c =================================================================== --- hash.c (revision 19872) +++ hash.c (revision 19873) @@ -79,7 +79,7 @@ default: hval = rb_funcall(a, id_hash, 0); if (!FIXNUM_P(hval)) { - hval = rb_funcall(hval, '%', 1, INT2FIX(536870923)); + hval = rb_funcall(hval, '%', 1, INT2FIX(5368709231)); } hnum = (int)FIX2LONG(hval); } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/