[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]