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

ruby-changes:10620

From: akr <ko1@a...>
Date: Mon, 9 Feb 2009 20:00:14 +0900 (JST)
Subject: [ruby-changes:10620] Ruby:r22177 (trunk): * ext/socket/basicsocket.c (bsock_getsockopt): refine address family

akr	2009-02-09 19:59:55 +0900 (Mon, 09 Feb 2009)

  New Revision: 22177

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

  Log:
    * ext/socket/basicsocket.c (bsock_getsockopt): refine address family
      examination.

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

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 22176)
+++ ChangeLog	(revision 22177)
@@ -1,3 +1,8 @@
+Mon Feb  9 19:59:18 2009  Tanaka Akira  <akr@f...>
+
+	* ext/socket/basicsocket.c (bsock_getsockopt): refine address family
+	  examination.
+
 Mon Feb  9 19:52:32 2009  Tanaka Akira  <akr@f...>
 
 	* ext/socket/option.c (sockopt_initialize): argument conversion
Index: ext/socket/basicsocket.c
===================================================================
--- ext/socket/basicsocket.c	(revision 22176)
+++ ext/socket/basicsocket.c	(revision 22177)
@@ -300,14 +300,13 @@
 
     GetOpenFile(sock, fptr);
 
+    ss.ss_family = AF_UNSPEC;
     if (getsockname(fptr->fd, (struct sockaddr*)&ss, &sslen) < 0)
 	rb_sys_fail("getsockname(2)");
 
     if (getsockopt(fptr->fd, level, option, buf, &len) < 0)
 	rb_sys_fail_path(fptr->pathv);
 
-    if (sslen < (char*)&ss.ss_family + sizeof(ss.ss_family) - (char*)&ss)
-	ss.ss_family = AF_UNSPEC;
     return sockopt_new(ss.ss_family, level, option, rb_str_new(buf, len));
 #else
     rb_notimplement();

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

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