From 9ac683818301ea2cdf089b0154f7b4f7c2b1c11d Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 4 Jan 2009 00:27:43 +0000 Subject: * ext/socket/socket.c (constant_arg): constified. * ext/socket/socket.c (optname_arg): cygwin does not have IPPROTO_IPV6. * ext/socket/mkconstants.rb (ipv6_optname_to_int): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/socket/mkconstants.rb | 2 ++ ext/socket/socket.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'ext') diff --git a/ext/socket/mkconstants.rb b/ext/socket/mkconstants.rb index 9dce82495b..da15fb4c79 100644 --- a/ext/socket/mkconstants.rb +++ b/ext/socket/mkconstants.rb @@ -228,11 +228,13 @@ ip_optname_to_int(char *str, int len, int *valp) <%= gen_name_to_int("str", "len", "valp", /\AIP_/, "IP_") %> } +#ifdef IPPROTO_IPV6 static int ipv6_optname_to_int(char *str, int len, int *valp) { <%= gen_name_to_int("str", "len", "valp", /\AIPV6_/, "IPV6_") %> } +#endif static int tcp_optname_to_int(char *str, int len, int *valp) diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 08efab52d8..3751303a9e 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -242,7 +242,7 @@ ruby_getnameinfo__aix(sa, salen, host, hostlen, serv, servlen, flags) #endif static int -constant_arg(VALUE arg, int (*str_to_int)(char*, int, int*), char *errmsg) +constant_arg(VALUE arg, int (*str_to_int)(char*, int, int*), const char *errmsg) { VALUE tmp; char *ptr; @@ -295,8 +295,10 @@ optname_arg(int level, VALUE optname) return constant_arg(optname, so_optname_to_int, "unknown socket level option name"); case IPPROTO_IP: return constant_arg(optname, ip_optname_to_int, "unknown IP level option name"); +#ifdef IPPROTO_IPV6 case IPPROTO_IPV6: return constant_arg(optname, ipv6_optname_to_int, "unknown IPv6 level option name"); +#endif case IPPROTO_TCP: return constant_arg(optname, tcp_optname_to_int, "unknown TCP level option name"); case IPPROTO_UDP: -- cgit v1.2.3