diff --git a/class.c b/class.c index 06b72d9b7c..daaf401497 100644 --- a/class.c +++ b/class.c @@ -1463,7 +1463,7 @@ rb_scan_args(int argc, const VALUE *argv, const char *fmt, ...) argc--; } else { - hash = rb_check_convert_type(last, T_HASH, "Hash", "to_hash"); + hash = rb_check_hash_type(last); if (!NIL_P(hash)) argc--; } diff --git a/process.c b/process.c index 8fa00ffe7d..c8c6b04340 100644 --- a/process.c +++ b/process.c @@ -1843,7 +1843,7 @@ rb_exec_getargs(int *argc_p, VALUE **argv_p, int accept_shell, VALUE *env_ret, V VALUE hash, prog; if (0 < *argc_p) { - hash = rb_check_convert_type((*argv_p)[*argc_p-1], T_HASH, "Hash", "to_hash"); + hash = rb_check_hash_type((*argv_p)[*argc_p-1]); if (!NIL_P(hash)) { *opthash_ret = hash; (*argc_p)--; @@ -1851,7 +1851,7 @@ rb_exec_getargs(int *argc_p, VALUE **argv_p, int accept_shell, VALUE *env_ret, V } if (0 < *argc_p) { - hash = rb_check_convert_type((*argv_p)[0], T_HASH, "Hash", "to_hash"); + hash = rb_check_hash_type((*argv_p)[0]); if (!NIL_P(hash)) { *env_ret = hash; (*argc_p)--; diff --git a/sprintf.c b/sprintf.c index c3fc39591d..b41ab9cb39 100644 --- a/sprintf.c +++ b/sprintf.c @@ -161,7 +161,7 @@ get_hash(volatile VALUE *hash, int argc, const VALUE *argv) if (argc != 2) { rb_raise(rb_eArgError, "one hash required"); } - tmp = rb_check_convert_type(argv[1], T_HASH, "Hash", "to_hash"); + tmp = rb_check_hash_type(argv[1]); if (NIL_P(tmp)) { rb_raise(rb_eArgError, "one hash required"); } diff --git a/string.c b/string.c index f2abc4fcf3..c97bfc8047 100644 --- a/string.c +++ b/string.c @@ -3616,7 +3616,7 @@ rb_str_sub_bang(int argc, VALUE *argv, VALUE str) } else { repl = argv[1]; - hash = rb_check_convert_type(argv[1], T_HASH, "Hash", "to_hash"); + hash = rb_check_hash_type(argv[1]); if (NIL_P(hash)) { StringValue(repl); } @@ -3768,7 +3768,7 @@ str_gsub(int argc, VALUE *argv, VALUE str, int bang) break; case 2: repl = argv[1]; - hash = rb_check_convert_type(argv[1], T_HASH, "Hash", "to_hash"); + hash = rb_check_hash_type(argv[1]); if (NIL_P(hash)) { StringValue(repl); }