1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/socket/addrinfo.h (AI_NUMERICSERV): defined.

(AI_MASK): add AI_NUMERICSERV.

* ext/socket/getaddrinfo.c (getaddrinfo): support AI_NUMERICSERV.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2009-01-13 13:57:53 +00:00
parent ed15422759
commit badd44845e
3 changed files with 12 additions and 1 deletions

View file

@ -1,3 +1,10 @@
Tue Jan 13 22:56:57 2009 Tanaka Akira <akr@fsij.org>
* 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@yugui.jp>
* lib/ostruct.rb (OpenStruct#inspect): fixed the recursion check.

View file

@ -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) */

View file

@ -375,6 +375,8 @@ getaddrinfo(const char *hostname, const char *servname, const struct addrinfo *h
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;