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

ruby-changes:32588

From: akr <ko1@a...>
Date: Tue, 21 Jan 2014 04:32:07 +0900 (JST)
Subject: [ruby-changes:32588] akr:r44667 (trunk): * ext/socket/option.c: Use "int" for IP_MULTICAST_LOOP and

akr	2014-01-21 04:32:03 +0900 (Tue, 21 Jan 2014)

  New Revision: 44667

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

  Log:
    * ext/socket/option.c: Use "int" for IP_MULTICAST_LOOP and
      IP_MULTICAST_TTL on Mac OS X.

  Modified files:
    trunk/ChangeLog
    trunk/ext/socket/option.c
    trunk/test/socket/test_sockopt.rb
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 44666)
+++ ChangeLog	(revision 44667)
@@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Tue Jan 21 04:27:30 2014  Tanaka Akira  <akr@f...>
+
+	* ext/socket/option.c: Use "int" for IP_MULTICAST_LOOP and
+	  IP_MULTICAST_TTL on Mac OS X.
+
 Tue Jan 21 00:39:15 2014  Tanaka Akira  <akr@f...>
 
 	* ext/socket/option.c: Use "byte" as default argument for
Index: ext/socket/option.c
===================================================================
--- ext/socket/option.c	(revision 44666)
+++ ext/socket/option.c	(revision 44667)
@@ -7,7 +7,7 @@ VALUE rb_cSockOpt; https://github.com/ruby/ruby/blob/trunk/ext/socket/option.c#L7
 #define CAT(x,y) x##y
 #define XCAT(x,y) CAT(x,y)
 
-#if defined(__linux__) || defined(__FreeBSD__)
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__)
 # define TYPE_IP_MULTICAST_LOOP int
 # define TYPE_IP_MULTICAST_TTL int
 #else
Index: test/socket/test_sockopt.rb
===================================================================
--- test/socket/test_sockopt.rb	(revision 44666)
+++ test/socket/test_sockopt.rb	(revision 44667)
@@ -34,6 +34,13 @@ class TestSocketOption < Test::Unit::Tes https://github.com/ruby/ruby/blob/trunk/test/socket/test_sockopt.rb#L34
     assert_equal(128, sockopt.ipv4_multicast_loop)
   end
 
+  def test_ipv4_multicast_loop_size
+    expected_size = Socket.open(:INET, :DGRAM) {|s|
+      s.getsockopt(:IP, :MULTICAST_LOOP).to_s.bytesize
+    }
+    assert_equal(expected_size, Socket::Option.ipv4_multicast_loop(0).to_s.bytesize)
+  end
+
   def test_ipv4_multicast_ttl
     sockopt = Socket::Option.ipv4_multicast_ttl(128)
     assert_equal('#<Socket::Option: INET IP MULTICAST_TTL 128>', sockopt.inspect)

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

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