use numerichost if cannot resolve hostname

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
seki 2004-05-06 13:28:23 +00:00
Родитель fb019df11e
Коммит 175f3b2d7a
2 изменённых файлов: 10 добавлений и 5 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Thu May 6 22:27:32 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
* ext/socket/socket.c (ippaddr): use NUMERICHOST if can not resolve
hostname.
Thu May 6 22:09:29 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> Thu May 6 22:09:29 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* ext/tk/tkutil.c (get_eval_string_core): bug fix. [ruby-dev:23466] * ext/tk/tkutil.c (get_eval_string_core): bug fix. [ruby-dev:23466]

Просмотреть файл

@ -750,14 +750,14 @@ ipaddr(sockaddr, norevlookup)
family = rb_str_new2(pbuf); family = rb_str_new2(pbuf);
break; break;
} }
addr1 = Qnil;
if (!norevlookup) { if (!norevlookup) {
error = getnameinfo(sockaddr, SA_LEN(sockaddr), hbuf, sizeof(hbuf), error = getnameinfo(sockaddr, SA_LEN(sockaddr), hbuf, sizeof(hbuf),
NULL, 0, 0); NULL, 0, 0);
if (error) { if (! error) {
raise_socket_error("getnameinfo", error); addr1 = rb_str_new2(hbuf);
} }
addr1 = rb_str_new2(hbuf);
} }
error = getnameinfo(sockaddr, SA_LEN(sockaddr), hbuf, sizeof(hbuf), error = getnameinfo(sockaddr, SA_LEN(sockaddr), hbuf, sizeof(hbuf),
pbuf, sizeof(pbuf), NI_NUMERICHOST | NI_NUMERICSERV); pbuf, sizeof(pbuf), NI_NUMERICHOST | NI_NUMERICSERV);
@ -765,7 +765,7 @@ ipaddr(sockaddr, norevlookup)
raise_socket_error("getnameinfo", error); raise_socket_error("getnameinfo", error);
} }
addr2 = rb_str_new2(hbuf); addr2 = rb_str_new2(hbuf);
if (norevlookup) { if (addr1 == Qnil) {
addr1 = addr2; addr1 = addr2;
} }
port = INT2FIX(atoi(pbuf)); port = INT2FIX(atoi(pbuf));