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

ruby-changes:9847

From: akr <ko1@a...>
Date: Thu, 8 Jan 2009 22:46:59 +0900 (JST)
Subject: [ruby-changes:9847] Ruby:r21388 (trunk): * ext/socket/socket.c: don't use AI_NUMERICSERV for platforms which

akr	2009-01-08 22:45:50 +0900 (Thu, 08 Jan 2009)

  New Revision: 21388

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

  Log:
    * ext/socket/socket.c: don't use AI_NUMERICSERV for platforms which
      not define it as old Windows.
      [ruby-dev:37736]

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

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 21387)
+++ ChangeLog	(revision 21388)
@@ -1,3 +1,9 @@
+Thu Jan  8 22:44:10 2009  Tanaka Akira  <akr@f...>
+
+	* ext/socket/socket.c: don't use AI_NUMERICSERV for platforms which
+	  not define it as old Windows.
+	  [ruby-dev:37736]
+
 Thu Jan  8 17:32:51 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* instruby.rb: should not depend on a library which does not exist
Index: ext/socket/socket.c
===================================================================
--- ext/socket/socket.c	(revision 21387)
+++ ext/socket/socket.c	(revision 21388)
@@ -1145,7 +1145,9 @@
     }
     else if (FIXNUM_P(port)) {
 	snprintf(pbuf, len, "%ld", FIX2LONG(port));
+#ifdef AI_NUMERICSERV
         if (flags_ptr) *flags_ptr |= AI_NUMERICSERV;
+#endif
 	return pbuf;
     }
     else {
@@ -4020,15 +4022,20 @@
             VALUE service = rb_ary_entry(sockaddr_ary, 1);
             VALUE nodename = rb_ary_entry(sockaddr_ary, 2);
             VALUE numericnode = rb_ary_entry(sockaddr_ary, 3);
+            int flags;
 
             service = INT2NUM(NUM2INT(service));
             if (!NIL_P(nodename))
                 StringValue(nodename);
             StringValue(numericnode);
+            flags = AI_NUMERICHOST;
+#ifdef AI_NUMERICSERV
+            flags |= AI_NUMERICSERV;
+#endif
 
             init_addrinfo_getaddrinfo(rai, numericnode, service,
                     INT2NUM(i_pfamily ? i_pfamily : af), INT2NUM(i_socktype), INT2NUM(i_protocol),
-                    INT2NUM(AI_NUMERICHOST|AI_NUMERICSERV),
+                    INT2NUM(flags),
                     rb_str_equal(numericnode, nodename) ? Qnil : make_inspectname(nodename, service));
             break;
           }

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

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