summaryrefslogtreecommitdiff
path: root/ext/socket/socket.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-01 12:26:57 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-01 12:26:57 +0000
commite924cabede82193e86e505f735b2d91954d07b2b (patch)
treecfdcb1030cc1914399377992c40fc0d34e74a843 /ext/socket/socket.c
parent85d13f6165ece405b66f6c4d6771043375830c1e (diff)
* ext/socket/socket.c (sock_s_getnameinfo): use family_to_int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/socket/socket.c')
-rw-r--r--ext/socket/socket.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index 623a5a79fe..04b79ff3c3 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -3369,14 +3369,10 @@ sock_s_getnameinfo(int argc, VALUE *argv)
hints.ai_family = FIX2INT(af);
}
else if ((ap = StringValuePtr(af)) != 0) {
- if (strcmp(ap, "AF_INET") == 0) {
- hints.ai_family = PF_INET;
- }
-#ifdef INET6
- else if (strcmp(ap, "AF_INET6") == 0) {
- hints.ai_family = PF_INET6;
- }
-#endif
+ int family;
+ if (family_to_int(ap, RSTRING_LEN(af), &family) == -1)
+ rb_raise(rb_eSocket, "unknown socket domain %s", ap);
+ hints.ai_family = family;
}
error = getaddrinfo(hptr, pptr, &hints, &res);
if (error) goto error_exit_addr;