diff --git a/ChangeLog b/ChangeLog index 0c4fefc42d..df191ea799 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sat Aug 23 18:29:29 2008 Tanaka Akira + + * io.c (rb_scan_open_args): use pop_last_hash. + Sat Aug 23 16:59:42 2008 Tanaka Akira * include/ruby/io.h (FMODE_INVALID_MASK): defined. diff --git a/io.c b/io.c index c05a0b8ac2..f1fbd6ec7c 100644 --- a/io.c +++ b/io.c @@ -4602,12 +4602,7 @@ rb_scan_open_args(int argc, VALUE *argv, int modenum, flags; mode_t perm; - if (0 < argc) { - opt = rb_check_convert_type(argv[argc-1], T_HASH, "Hash", "to_hash"); - if (!NIL_P(opt)) { - argc -= 1; - } - } + opt = pop_last_hash(&argc, &argv); rb_scan_args(argc, argv, "12", &fname, &vmode, &vperm); #if defined _WIN32 || defined __APPLE__