diff options
Diffstat (limited to 'ext/socket/constants.c')
| -rw-r--r-- | ext/socket/constants.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/ext/socket/constants.c b/ext/socket/constants.c index 4350a127d5..1213f2ae17 100644 --- a/ext/socket/constants.c +++ b/ext/socket/constants.c @@ -15,26 +15,25 @@ static VALUE rb_mSockConst; #include "constdefs.c" static int -constant_arg(VALUE arg, int (*str_to_int)(const char*, int, int*), const char *errmsg) +constant_arg(VALUE arg, int (*str_to_int)(const char*, long, int*), const char *errmsg) { VALUE tmp; char *ptr; int ret; if (SYMBOL_P(arg)) { - arg = rb_sym_to_s(arg); + arg = rb_sym2str(arg); goto str; } else if (!NIL_P(tmp = rb_check_string_type(arg))) { - arg = tmp; + arg = tmp; str: - rb_check_safe_obj(arg); ptr = RSTRING_PTR(arg); if (str_to_int(ptr, RSTRING_LEN(arg), &ret) == -1) - rb_raise(rb_eSocket, "%s: %s", errmsg, ptr); + rb_raise(rb_eSocket, "%s: %s", errmsg, ptr); } else { - ret = NUM2INT(arg); + ret = NUM2INT(arg); } return ret; } @@ -105,7 +104,7 @@ rsock_cmsg_type_arg(int family, int level, VALUE type) return constant_arg(type, rsock_scm_optname_to_int, "unknown UNIX control message"); case IPPROTO_IP: return constant_arg(type, rsock_ip_optname_to_int, "unknown IP control message"); -#ifdef INET6 +#ifdef IPPROTO_IPV6 case IPPROTO_IPV6: return constant_arg(type, rsock_ipv6_optname_to_int, "unknown IPv6 control message"); #endif @@ -138,9 +137,8 @@ rsock_shutdown_how_arg(VALUE how) * Socket::Constants module */ void -Init_socket_constants(void) +rsock_init_socket_constants(void) { /* constants */ - rb_mSockConst = rb_define_module_under(rb_cSocket, "Constants"); init_constants(); } |
