[前][次][番号順一覧][スレッド一覧]

ruby-changes:10631

From: akr <ko1@a...>
Date: Tue, 10 Feb 2009 01:23:46 +0900 (JST)
Subject: [ruby-changes:10631] Ruby:r22189 (trunk): * ext/socket/option.c (sockopt_inspect): refactored.

akr	2009-02-10 01:23:36 +0900 (Tue, 10 Feb 2009)

  New Revision: 22189

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=22189

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

  Modified files:
    trunk/ChangeLog
    trunk/ext/socket/option.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 22188)
+++ ChangeLog	(revision 22189)
@@ -1,3 +1,7 @@
+Tue Feb 10 01:22:56 2009  Tanaka Akira  <akr@f...>
+
+	* ext/socket/option.c (sockopt_inspect): refactored.
+
 Tue Feb 10 01:02:16 2009  Tanaka Akira  <akr@f...>
 
 	* ext/socket/mkconstants.rb: generate intern_family_noprefix.
Index: ext/socket/option.c
===================================================================
--- ext/socket/option.c	(revision 22188)
+++ ext/socket/option.c	(revision 22189)
@@ -300,15 +300,25 @@
 
     StringValue(data);
 
-    ret = rb_sprintf("#<%s: ", rb_obj_classname(self));
+    ret = rb_sprintf("#<%s:", rb_obj_classname(self));
 
     family_id = intern_family_noprefix(family);
     if (family_id)
-	rb_str_cat2(ret, rb_id2name(family_id));
+	rb_str_catf(ret, " %s", rb_id2name(family_id));
     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);
 
 	optname_id = intern_local_optname(optname);
@@ -317,7 +327,8 @@
 	else
 	    rb_str_catf(ret, " optname:%d", optname);
     }
-    else {
+#endif
+    else if (IS_IP_FAMILY(family)) {
 	level_id = intern_iplevel(level);
 	if (level_id)
 	    rb_str_catf(ret, " %s", rb_id2name(level_id));
@@ -330,6 +341,10 @@
 	else
 	    rb_str_catf(ret, " optname:%d", optname);
     }
+    else {
+        rb_str_catf(ret, " level:%d", level);
+        rb_str_catf(ret, " optname:%d", optname);
+    }
 
     inspected = 0;
 
@@ -397,7 +412,9 @@
         break;
 
       case AF_INET:
+#ifdef INET6
       case AF_INET6:
+#endif
         switch (level) {
 #        if defined(IPPROTO_IPV6)
           case IPPROTO_IPV6:
@@ -434,6 +451,7 @@
         }
         break;
 
+#ifdef HAVE_SYS_UN_H
       case AF_UNIX:
         switch (level) {
           case 0:
@@ -445,6 +463,7 @@
             break;
         }
         break;
+#endif
     }
 
     if (!inspected) {

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]