diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-01 12:26:57 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-01 12:26:57 +0000 |
commit | 529e6066dde17be015ed8baa54e41a9e6fc801f7 (patch) | |
tree | cfdcb1030cc1914399377992c40fc0d34e74a843 /ext/socket/socket.c | |
parent | 6738d0667f321cee9f9a0dd8d59539ca8ee7722c (diff) | |
download | ruby-529e6066dde17be015ed8baa54e41a9e6fc801f7.tar.gz ruby-529e6066dde17be015ed8baa54e41a9e6fc801f7.tar.xz ruby-529e6066dde17be015ed8baa54e41a9e6fc801f7.zip |
* ext/socket/socket.c (sock_s_getnameinfo): use family_to_int.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/socket/socket.c')
-rw-r--r-- | ext/socket/socket.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 623a5a79f..04b79ff3c 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; |