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

ruby-changes:22196

From: akr <ko1@a...>
Date: Mon, 9 Jan 2012 20:18:11 +0900 (JST)
Subject: [ruby-changes:22196] akr:r34245 (trunk): * ext/socket/lib/socket.rb (family_addrinfo): don't require protocol

akr	2012-01-09 20:18:00 +0900 (Mon, 09 Jan 2012)

  New Revision: 34245

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

  Log:
    * ext/socket/lib/socket.rb (family_addrinfo): don't require protocol
      equality.  For example, protocol 0 and IPPROTO_TCP is not problem
      for TCP.

  Modified files:
    trunk/ChangeLog
    trunk/ext/socket/lib/socket.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 34244)
+++ ChangeLog	(revision 34245)
@@ -1,3 +1,9 @@
+Mon Jan  9 20:14:13 2012  Tanaka Akira  <akr@f...>
+
+	* ext/socket/lib/socket.rb (family_addrinfo): don't require protocol
+	  equality.  For example, protocol 0 and IPPROTO_TCP is not problem
+	  for TCP.
+
 Mon Jan  9 20:08:52 2012  Tanaka Akira  <akr@f...>
 
 	* ext/socket/lib/socket.rb (family_addrinfo): return the given
Index: ext/socket/lib/socket.rb
===================================================================
--- ext/socket/lib/socket.rb	(revision 34244)
+++ ext/socket/lib/socket.rb	(revision 34245)
@@ -17,7 +17,10 @@
     elsif Addrinfo === args.first
       raise ArgumentError, "too many arguments" if args.length != 1
       addrinfo = args.first
-      raise ArgumentError, "Addrinfo type mismatch" if (self.pfamily != addrinfo.pfamily) || (self.socktype != addrinfo.socktype) || (self.protocol != addrinfo.protocol)
+      if (self.pfamily != addrinfo.pfamily) ||
+         (self.socktype != addrinfo.socktype)
+        raise ArgumentError, "Addrinfo type mismatch"
+      end
       addrinfo
     elsif self.ip?
       raise ArgumentError, "IP address needs host and port but #{args.length} arguments given" if args.length != 2

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

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