1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/socket/option.c (sockopt_inspect): refactored.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2009-02-09 16:23:36 +00:00
parent 41f256b484
commit b877fc2f15
2 changed files with 28 additions and 5 deletions

View file

@ -1,3 +1,7 @@
Tue Feb 10 01:22:56 2009 Tanaka Akira <akr@fsij.org>
* ext/socket/option.c (sockopt_inspect): refactored.
Tue Feb 10 01:02:16 2009 Tanaka Akira <akr@fsij.org> Tue Feb 10 01:02:16 2009 Tanaka Akira <akr@fsij.org>
* ext/socket/mkconstants.rb: generate intern_family_noprefix. * ext/socket/mkconstants.rb: generate intern_family_noprefix.

View file

@ -300,15 +300,25 @@ sockopt_inspect(VALUE self)
StringValue(data); StringValue(data);
ret = rb_sprintf("#<%s: ", rb_obj_classname(self)); ret = rb_sprintf("#<%s:", rb_obj_classname(self));
family_id = intern_family_noprefix(family); family_id = intern_family_noprefix(family);
if (family_id) if (family_id)
rb_str_cat2(ret, rb_id2name(family_id)); rb_str_catf(ret, " %s", rb_id2name(family_id));
else else
rb_str_catf(ret, "family:%d", family); rb_str_catf(ret, " family:%d", family);
if (family == AF_UNIX && level == 0) { if (level == SOL_SOCKET) {
rb_str_cat2(ret, " SOCKET");
optname_id = intern_so_optname(optname);
if (optname_id)
rb_str_catf(ret, " %s", rb_id2name(optname_id));
else
rb_str_catf(ret, " optname:%d", optname);
}
#ifdef HAVE_SYS_UN_H
else if (family == AF_UNIX) {
rb_str_catf(ret, " level:%d", level); rb_str_catf(ret, " level:%d", level);
optname_id = intern_local_optname(optname); optname_id = intern_local_optname(optname);
@ -317,7 +327,8 @@ sockopt_inspect(VALUE self)
else else
rb_str_catf(ret, " optname:%d", optname); rb_str_catf(ret, " optname:%d", optname);
} }
else { #endif
else if (IS_IP_FAMILY(family)) {
level_id = intern_iplevel(level); level_id = intern_iplevel(level);
if (level_id) if (level_id)
rb_str_catf(ret, " %s", rb_id2name(level_id)); rb_str_catf(ret, " %s", rb_id2name(level_id));
@ -330,6 +341,10 @@ sockopt_inspect(VALUE self)
else else
rb_str_catf(ret, " optname:%d", optname); rb_str_catf(ret, " optname:%d", optname);
} }
else {
rb_str_catf(ret, " level:%d", level);
rb_str_catf(ret, " optname:%d", optname);
}
inspected = 0; inspected = 0;
@ -397,7 +412,9 @@ sockopt_inspect(VALUE self)
break; break;
case AF_INET: case AF_INET:
#ifdef INET6
case AF_INET6: case AF_INET6:
#endif
switch (level) { switch (level) {
# if defined(IPPROTO_IPV6) # if defined(IPPROTO_IPV6)
case IPPROTO_IPV6: case IPPROTO_IPV6:
@ -434,6 +451,7 @@ sockopt_inspect(VALUE self)
} }
break; break;
#ifdef HAVE_SYS_UN_H
case AF_UNIX: case AF_UNIX:
switch (level) { switch (level) {
case 0: case 0:
@ -445,6 +463,7 @@ sockopt_inspect(VALUE self)
break; break;
} }
break; break;
#endif
} }
if (!inspected) { if (!inspected) {