diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-15 00:06:13 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-15 00:06:13 +0000 |
commit | 57fb2199059cb55b632d093c2e64c8a3c60acfbb (patch) | |
tree | e35e0fb134907d12cee224d3750f4cc00c7b7634 /file.c | |
parent | b860144680e3af51f7fc0d7185185a92c4fa6aca (diff) | |
download | ruby-57fb2199059cb55b632d093c2e64c8a3c60acfbb.tar.gz |
* reduce UNREACHABLE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'file.c')
-rw-r--r-- | file.c | 29 |
1 files changed, 12 insertions, 17 deletions
@@ -4182,13 +4182,8 @@ test_check(int n, int argc, VALUE *argv) n+=1; rb_check_arity(argc, n, n); for (i=1; i<n; i++) { - switch (TYPE(argv[i])) { - case T_STRING: - default: + if (!RB_TYPE_P(argv[i], T_FILE)) { FilePathValue(argv[i]); - break; - case T_FILE: - break; } } } @@ -4260,7 +4255,16 @@ rb_f_test(int argc, VALUE *argv) if (argc == 0) rb_check_arity(argc, 2, 3); cmd = NUM2CHR(argv[0]); - if (cmd == 0) goto unknown; + if (cmd == 0) { + unknown: + /* unknown command */ + if (ISPRINT(cmd)) { + rb_raise(rb_eArgError, "unknown command '%s%c'", cmd == '\'' || cmd == '\\' ? "\\" : "", cmd); + } + else { + rb_raise(rb_eArgError, "unknown command \"\\x%02X\"", cmd); + } + } if (strchr("bcdefgGkloOprRsSuwWxXz", cmd)) { CHECK(1); switch (cmd) { @@ -4379,16 +4383,7 @@ rb_f_test(int argc, VALUE *argv) return Qfalse; } } - unknown: - /* unknown command */ - if (ISPRINT(cmd)) { - rb_raise(rb_eArgError, "unknown command '%s%c'", cmd == '\'' || cmd == '\\' ? "\\" : "", cmd); - } - else { - rb_raise(rb_eArgError, "unknown command \"\\x%02X\"", cmd); - } - - UNREACHABLE; + goto unknown; } |