diff options
| author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-01 11:47:55 +0000 |
|---|---|---|
| committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-01 11:47:55 +0000 |
| commit | 77962159204b1c0755cb877bd3177c0a45293ac2 (patch) | |
| tree | 5cf62ab2720d5106aa94709fd0925ca86046c8c3 /ext | |
| parent | aa674f6bb648d03a60605aae8ba39b0d7a178f81 (diff) | |
| download | ruby-77962159204b1c0755cb877bd3177c0a45293ac2.tar.gz ruby-77962159204b1c0755cb877bd3177c0a45293ac2.tar.xz ruby-77962159204b1c0755cb877bd3177c0a45293ac2.zip | |
* ext/socket/socket.c (sock_s_getaddrinfo): use family_to_int.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
| -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 6561c89b9..623a5a79f 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -3252,14 +3252,10 @@ sock_s_getaddrinfo(int argc, VALUE *argv) hints.ai_family = FIX2INT(family); } else if ((ap = StringValuePtr(family)) != 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 af; + if (family_to_int(ap, RSTRING_LEN(family), &af) == -1) + rb_raise(rb_eSocket, "unknown socket domain %s", ap); + hints.ai_family = af; } if (!NIL_P(socktype)) { |
