ruby-changes:9731
From: akr <ko1@a...>
Date: Fri, 2 Jan 2009 17:48:12 +0900 (JST)
Subject: [ruby-changes:9731] Ruby:r21272 (trunk): * ext/socket/mkconstants.rb: rename family_to_str to intern_family.
akr 2009-01-02 17:46:26 +0900 (Fri, 02 Jan 2009) New Revision: 21272 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21272 Log: * ext/socket/mkconstants.rb: rename family_to_str to intern_family. it returns ID now. * ext/socket/socket.c (ipaddr): use intern_family. Modified files: trunk/ChangeLog trunk/ext/socket/mkconstants.rb trunk/ext/socket/socket.c Index: ChangeLog =================================================================== --- ChangeLog (revision 21271) +++ ChangeLog (revision 21272) @@ -1,3 +1,10 @@ +Fri Jan 2 17:45:19 2009 Tanaka Akira <akr@f...> + + * ext/socket/mkconstants.rb: rename family_to_str to intern_family. + it returns ID now. + + * ext/socket/socket.c (ipaddr): use intern_family. + Fri Jan 2 17:20:31 2009 Tanaka Akira <akr@f...> * ext/socket/mkconstants.rb: use ID in the values of Index: ext/socket/mkconstants.rb =================================================================== --- ext/socket/mkconstants.rb (revision 21271) +++ ext/socket/mkconstants.rb (revision 21272) @@ -144,18 +144,18 @@ EOS ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_int_to_name_func(func_name, hash_var)") -static VALUE +static ID <%=func_name%>(int val) { st_data_t name; if (st_lookup(<%=hash_var%>, (st_data_t)val, &name)) - return rb_id2str((ID)name); - return Qnil; + return (ID)name; + return 0; } EOS -STRINGIZER_DEFS = [] -def def_stringizer(func_name, pat, prefix_optional=nil) +INTERN_DEFS = [] +def def_intern(func_name, pat, prefix_optional=nil) prefix_pat = nil if prefix_optional if Regexp === prefix_optional @@ -168,14 +168,14 @@ decl = "static st_table *#{hash_var};" gen_hash = gen_int_to_name_hash(hash_var, pat, prefix_pat) func = gen_int_to_name_func(func_name, hash_var) - STRINGIZER_DEFS << [decl, gen_hash, func] + INTERN_DEFS << [decl, gen_hash, func] end -def_stringizer('family_to_str', /\AAF_/) +def_intern('intern_family', /\AAF_/) result << ERB.new(<<'EOS', nil, '%').result(binding) -<%= STRINGIZER_DEFS.map {|decl, gen_hash, func| decl }.join("\n") %> +<%= INTERN_DEFS.map {|decl, gen_hash, func| decl }.join("\n") %> static void init_constants(VALUE mConst) @@ -195,7 +195,7 @@ #endif % end % } -<%= STRINGIZER_DEFS.map {|decl, gen_hash, func| gen_hash }.join("\n") %> +<%= INTERN_DEFS.map {|decl, gen_hash, func| gen_hash }.join("\n") %> } static int @@ -246,7 +246,7 @@ <%= gen_name_to_int("str", "len", "valp", /\AUDP_/, "UDP_") %> } -<%= STRINGIZER_DEFS.map {|decl, gen_hash, func| func }.join("\n") %> +<%= INTERN_DEFS.map {|decl, gen_hash, func| func }.join("\n") %> EOS Index: ext/socket/socket.c =================================================================== --- ext/socket/socket.c (revision 21271) +++ ext/socket/socket.c (revision 21272) @@ -1061,10 +1061,11 @@ VALUE ary; int error; char hbuf[1024], pbuf[1024]; + ID id; - family = family_to_str(sockaddr->sa_family); - if (!NIL_P(family)) { - family = rb_str_dup(family); + id = intern_family(sockaddr->sa_family); + if (id) { + family = rb_str_dup(rb_id2str(id)); } else { sprintf(pbuf, "unknown:%d", sockaddr->sa_family); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/