ruby-changes:9725
From: akr <ko1@a...>
Date: Fri, 2 Jan 2009 14:12:27 +0900 (JST)
Subject: [ruby-changes:9725] Ruby:r21266 (trunk): * ext/socket/mkconstants.rb (gen_int_to_name): add lenp argument.
akr 2009-01-02 14:12:14 +0900 (Fri, 02 Jan 2009) New Revision: 21266 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21266 Log: * ext/socket/mkconstants.rb (gen_int_to_name): add lenp argument. * ext/socket/socket.c (ipaddr): follow argument change. Modified files: trunk/ChangeLog trunk/ext/socket/mkconstants.rb trunk/ext/socket/socket.c Index: ChangeLog =================================================================== --- ChangeLog (revision 21265) +++ ChangeLog (revision 21266) @@ -1,3 +1,9 @@ +Fri Jan 2 14:11:07 2009 Tanaka Akira <akr@f...> + + * ext/socket/mkconstants.rb (gen_int_to_name): add lenp argument. + + * ext/socket/socket.c (ipaddr): follow argument change. + Fri Jan 2 06:43:58 2009 NARUSE, Yui <naruse@r...> * signal.c (rb_signal_buff_size): defined for check whether signal Index: ext/socket/mkconstants.rb =================================================================== --- ext/socket/mkconstants.rb (revision 21265) +++ ext/socket/mkconstants.rb (revision 21266) @@ -103,14 +103,14 @@ yield names end -ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_int_to_name(int_var, pat)") +ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_int_to_name(int_var, lenp_var, pat)") switch (<%=int_var%>) { % each_alias(pat) {|names| % names.each_with_index {|n, i| % cond = ["defined(#{n})"] % (0...i).each {|j| cond << "(!defined(#{names[j]}) || #{n} != #{names[j]})" } #if <%=cond.join(" && ")%> - case <%=n%>: return <%=c_str n%>; + case <%=n%>: if (<%=lenp_var%>) *<%=lenp_var%> = <%=n.bytesize%>; return <%=c_str n%>; #endif % } % } @@ -190,9 +190,9 @@ } static char * -family_to_str(int val) +family_to_str(int val, int *lenp) { -<%= gen_int_to_name("val", /\AAF_/) %> +<%= gen_int_to_name("val", "lenp", /\AAF_/) %> } EOS @@ -214,6 +214,8 @@ SOCK_SEQPACKET SOCK_PACKET +AF_UNSPEC +PF_UNSPEC AF_INET PF_INET AF_INET6 @@ -226,8 +228,6 @@ PF_IPX AF_APPLETALK PF_APPLETALK -AF_UNSPEC -PF_UNSPEC AF_LOCAL PF_LOCAL AF_IMPLINK Index: ext/socket/socket.c =================================================================== --- ext/socket/socket.c (revision 21265) +++ ext/socket/socket.c (revision 21266) @@ -1063,7 +1063,7 @@ char hbuf[1024], pbuf[1024]; char *name; - name = family_to_str(sockaddr->sa_family); + name = family_to_str(sockaddr->sa_family, NULL); if (name) family = rb_str_new2(name); else { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/