* ext/socket/raddrinfo.c (addrinfo_mdump): don't use symbol.

(addrinfo_mload): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2009-01-17 18:35:15 +00:00
parent 86aa5043d8
commit ec52a63792
2 changed files with 17 additions and 21 deletions

View File

@ -1,3 +1,8 @@
Sun Jan 18 03:33:23 2009 Tanaka Akira <akr@fsij.org>
* ext/socket/raddrinfo.c (addrinfo_mdump): don't use symbol.
(addrinfo_mload): ditto.
Sun Jan 18 03:05:20 2009 Tanaka Akira <akr@fsij.org> Sun Jan 18 03:05:20 2009 Tanaka Akira <akr@fsij.org>
* ext/socket/raddrinfo.c (addrinfo_mdump): new method. * ext/socket/raddrinfo.c (addrinfo_mdump): new method.

View File

@ -1093,7 +1093,7 @@ addrinfo_mdump(VALUE self)
id = intern_protocol_family(rai->pfamily); id = intern_protocol_family(rai->pfamily);
if (id == 0) if (id == 0)
rb_raise(rb_eSocket, "unknown protocol family: %d", rai->pfamily); rb_raise(rb_eSocket, "unknown protocol family: %d", rai->pfamily);
pfamily = ID2SYM(id); pfamily = rb_id2str(id);
if (rai->socktype == 0) if (rai->socktype == 0)
socktype = INT2FIX(0); socktype = INT2FIX(0);
@ -1101,7 +1101,7 @@ addrinfo_mdump(VALUE self)
id = intern_socktype(rai->socktype); id = intern_socktype(rai->socktype);
if (id == 0) if (id == 0)
rb_raise(rb_eSocket, "unknown socktype: %d", rai->socktype); rb_raise(rb_eSocket, "unknown socktype: %d", rai->socktype);
socktype = ID2SYM(id); socktype = rb_id2str(id);
} }
if (rai->protocol == 0) if (rai->protocol == 0)
@ -1110,7 +1110,7 @@ addrinfo_mdump(VALUE self)
id = intern_ipproto(rai->protocol); id = intern_ipproto(rai->protocol);
if (id == 0) if (id == 0)
rb_raise(rb_eSocket, "unknown IP protocol: %d", rai->protocol); rb_raise(rb_eSocket, "unknown IP protocol: %d", rai->protocol);
protocol = ID2SYM(id); protocol = rb_id2str(id);
} }
else { else {
rb_raise(rb_eSocket, "unknown protocol: %d", rai->protocol); rb_raise(rb_eSocket, "unknown protocol: %d", rai->protocol);
@ -1123,7 +1123,7 @@ addrinfo_mdump(VALUE self)
id = intern_family(afamily_int); id = intern_family(afamily_int);
if (id == 0) if (id == 0)
rb_raise(rb_eSocket, "unknown address family: %d", afamily_int); rb_raise(rb_eSocket, "unknown address family: %d", afamily_int);
afamily = ID2SYM(id); afamily = rb_id2str(id);
switch(afamily_int) { switch(afamily_int) {
case AF_UNIX: case AF_UNIX:
@ -1165,7 +1165,6 @@ addrinfo_mload(VALUE self, VALUE ary)
int afamily, pfamily, socktype, protocol; int afamily, pfamily, socktype, protocol;
struct sockaddr_storage ss; struct sockaddr_storage ss;
size_t len; size_t len;
const char *str;
rb_addrinfo_t *rai; rb_addrinfo_t *rai;
if (check_addrinfo(self)) if (check_addrinfo(self))
@ -1174,27 +1173,21 @@ addrinfo_mload(VALUE self, VALUE ary)
ary = rb_convert_type(ary, T_ARRAY, "Array", "to_ary"); ary = rb_convert_type(ary, T_ARRAY, "Array", "to_ary");
v = rb_ary_entry(ary, 0); v = rb_ary_entry(ary, 0);
if (!SYMBOL_P(v)) StringValue(v);
rb_raise(rb_eTypeError, "symbol expected for address family"); if (family_to_int(RSTRING_PTR(v), RSTRING_LEN(v), &afamily) == -1)
str = rb_id2name(SYM2ID(v));
if (family_to_int(str, strlen(str), &afamily) == -1)
rb_raise(rb_eTypeError, "unexpected address family"); rb_raise(rb_eTypeError, "unexpected address family");
v = rb_ary_entry(ary, 2); v = rb_ary_entry(ary, 2);
if (!SYMBOL_P(v)) StringValue(v);
rb_raise(rb_eTypeError, "symbol expected for protocol family"); if (family_to_int(RSTRING_PTR(v), RSTRING_LEN(v), &pfamily) == -1)
str = rb_id2name(SYM2ID(v));
if (family_to_int(str, strlen(str), &pfamily) == -1)
rb_raise(rb_eTypeError, "unexpected protocol family"); rb_raise(rb_eTypeError, "unexpected protocol family");
v = rb_ary_entry(ary, 3); v = rb_ary_entry(ary, 3);
if (v == INT2FIX(0)) if (v == INT2FIX(0))
socktype = 0; socktype = 0;
else { else {
if (!SYMBOL_P(v)) StringValue(v);
rb_raise(rb_eTypeError, "symbol expected for socktype"); if (socktype_to_int(RSTRING_PTR(v), RSTRING_LEN(v), &socktype) == -1)
str = rb_id2name(SYM2ID(v));
if (socktype_to_int(str, strlen(str), &socktype) == -1)
rb_raise(rb_eTypeError, "unexpected socktype"); rb_raise(rb_eTypeError, "unexpected socktype");
} }
@ -1202,11 +1195,9 @@ addrinfo_mload(VALUE self, VALUE ary)
if (v == INT2FIX(0)) if (v == INT2FIX(0))
protocol = 0; protocol = 0;
else { else {
if (!SYMBOL_P(v)) StringValue(v);
rb_raise(rb_eTypeError, "symbol expected for protocol");
if (IS_IP_FAMILY(afamily)) { if (IS_IP_FAMILY(afamily)) {
str = rb_id2name(SYM2ID(v)); if (ipproto_to_int(RSTRING_PTR(v), RSTRING_LEN(v), &protocol) == -1)
if (ipproto_to_int(str, strlen(str), &protocol) == -1)
rb_raise(rb_eTypeError, "unexpected protocol"); rb_raise(rb_eTypeError, "unexpected protocol");
} }
else { else {