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

ruby-changes:9956

From: akr <ko1@a...>
Date: Tue, 13 Jan 2009 22:58:12 +0900 (JST)
Subject: [ruby-changes:9956] Ruby:r21497 (trunk): * ext/socket/addrinfo.h (AI_NUMERICSERV): defined.

akr	2009-01-13 22:57:53 +0900 (Tue, 13 Jan 2009)

  New Revision: 21497

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

  Log:
    * ext/socket/addrinfo.h (AI_NUMERICSERV): defined.
      (AI_MASK): add AI_NUMERICSERV.
    * ext/socket/getaddrinfo.c (getaddrinfo): support AI_NUMERICSERV.

  Modified files:
    trunk/ChangeLog
    trunk/ext/socket/addrinfo.h
    trunk/ext/socket/getaddrinfo.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 21496)
+++ ChangeLog	(revision 21497)
@@ -1,3 +1,10 @@
+Tue Jan 13 22:56:57 2009  Tanaka Akira  <akr@f...>
+
+	* ext/socket/addrinfo.h (AI_NUMERICSERV): defined.
+	  (AI_MASK): add AI_NUMERICSERV.
+
+	* ext/socket/getaddrinfo.c (getaddrinfo): support AI_NUMERICSERV.
+
 Tue Jan 13 21:45:53 2009  Yuki Sonoda (Yugui)  <yugui@y...>
 
 	* lib/ostruct.rb (OpenStruct#inspect): fixed the recursion check.
Index: ext/socket/getaddrinfo.c
===================================================================
--- ext/socket/getaddrinfo.c	(revision 21496)
+++ ext/socket/getaddrinfo.c	(revision 21497)
@@ -375,6 +375,8 @@
 				pai->ai_protocol = IPPROTO_UDP;
 			}
 			port = htons((unsigned short)atoi(servname));
+                } else if (pai->ai_flags & AI_NUMERICSERV) {
+                        ERR(EAI_NONAME);
 		} else {
 			struct servent *sp;
 			const char *proto;
Index: ext/socket/addrinfo.h
===================================================================
--- ext/socket/addrinfo.h	(revision 21496)
+++ ext/socket/addrinfo.h	(revision 21497)
@@ -50,6 +50,7 @@
 #undef AI_PASSIVE
 #undef AI_CANONNAME
 #undef AI_NUMERICHOST
+#undef AI_NUMERICSERV
 #undef AI_ALL
 #undef AI_ADDRCONFIG
 #undef AI_V4MAPPED
@@ -107,9 +108,10 @@
 #define	AI_PASSIVE	0x00000001 /* get address to use bind() */
 #define	AI_CANONNAME	0x00000002 /* fill ai_canonname */
 #define	AI_NUMERICHOST	0x00000004 /* prevent name resolution */
+#define	AI_NUMERICSERV	0x00000008 /* prevent service name resolution */
 /* valid flags for addrinfo */
 #ifndef __HAIKU__
-#define	AI_MASK		(AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST)
+#define	AI_MASK		(AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST | AI_NUMERICSERV)
 #endif
 
 #define	AI_ALL		0x00000100 /* IPv6 and IPv4-mapped (with AI_V4MAPPED) */

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

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