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

2000-05-25

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2000-05-25 05:55:12 +00:00
parent 106eb09a38
commit d7fe17edf0
14 changed files with 160 additions and 114 deletions

View file

@ -104,9 +104,9 @@ struct sockaddr_storage {
};
#endif
#define LOOKUP_ORDER_INET 0
#define LOOKUP_ORDER_INET6 1
#define LOOKUP_ORDER_UNSPEC 2
#define LOOKUP_ORDER_UNSPEC 0
#define LOOKUP_ORDER_INET 1
#define LOOKUP_ORDER_INET6 2
#if defined(DEFAULT_LOOKUP_ORDER_UNSPEC)
# define LOOKUP_ORDER_DEFAULT LOOKUP_ORDER_UNSPEC
@ -1928,6 +1928,11 @@ sock_s_getnameinfo(argc, argv)
sa = flags = Qnil;
rb_scan_args(argc, argv, "11", &sa, &flags);
fl = 0;
if (!NIL_P(flags)) {
fl = NUM2INT(flags);
}
if (TYPE(sa) == T_STRING) {
if (sizeof(ss) < RSTRING(sa)->len) {
rb_raise(rb_eTypeError, "sockaddr length too big");
@ -1968,9 +1973,10 @@ sock_s_getnameinfo(argc, argv)
strcpy(pbuf, "0");
pptr = NULL;
}
else if (!NIL_P(port)) {
else if (FIXNUM_P(port)) {
snprintf(pbuf, sizeof(pbuf), "%ld", NUM2INT(port));
pptr = pbuf;
fl |= NI_NUMERICSERV;
}
else {
strncpy(pbuf, STR2CSTR(port), sizeof(pbuf));
@ -1999,11 +2005,6 @@ sock_s_getnameinfo(argc, argv)
rb_raise(rb_eTypeError, "expecting String or Array");
}
fl = 0;
if (!NIL_P(flags)) {
fl = NUM2INT(flags);
}
error = getnameinfo(sap, SA_LEN(sap), hbuf, sizeof(hbuf),
pbuf, sizeof(pbuf), fl);
if (error) {