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/