ruby-changes:9726
From: akr <ko1@a...>
Date: Fri, 2 Jan 2009 14:34:15 +0900 (JST)
Subject: [ruby-changes:9726] Ruby:r21267 (trunk): * ext/socket/mkconstants.rb (gen_int_to_name): don't compare constants
akr 2009-01-02 14:33:56 +0900 (Fri, 02 Jan 2009) New Revision: 21267 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21267 Log: * ext/socket/mkconstants.rb (gen_int_to_name): don't compare constants in preprocessor because the constants may be enum. Modified files: trunk/ChangeLog trunk/ext/socket/mkconstants.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 21266) +++ ChangeLog (revision 21267) @@ -1,3 +1,8 @@ +Fri Jan 2 14:33:12 2009 Tanaka Akira <akr@f...> + + * ext/socket/mkconstants.rb (gen_int_to_name): don't compare constants + in preprocessor because the constants may be enum. + Fri Jan 2 14:11:07 2009 Tanaka Akira <akr@f...> * ext/socket/mkconstants.rb (gen_int_to_name): add lenp argument. Index: ext/socket/mkconstants.rb =================================================================== --- ext/socket/mkconstants.rb (revision 21266) +++ ext/socket/mkconstants.rb (revision 21267) @@ -104,19 +104,15 @@ end 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%>: if (<%=lenp_var%>) *<%=lenp_var%> = <%=n.bytesize%>; return <%=c_str n%>; -#endif -% } -% } - default: - return NULL; +% each_name(pat) {|n| +#ifdef <%=n%> + if (<%=int_var%> == <%=n%>) { + if (<%=lenp_var%>) *<%=lenp_var%> = <%=n.bytesize%>; + return <%=c_str n%>; } +#endif +% } + return NULL; EOS result << ERB.new(<<'EOS', nil, '%').result(binding) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/