ruby-changes:9686
From: yugui <ko1@a...>
Date: Thu, 1 Jan 2009 15:42:11 +0900 (JST)
Subject: [ruby-changes:9686] Ruby:r21226 (ruby_1_9_1): merges r21202 from trunk into ruby_1_9_1.
yugui 2009-01-01 15:41:54 +0900 (Thu, 01 Jan 2009) New Revision: 21226 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21226 Log: merges r21202 from trunk into ruby_1_9_1. * ext/socket/mkconstants.rb: use sock_define_uconst for INADDR_* constants because Socket::INADDR_LOOPBACK should be 0x7f000001 instead of -0xffffff. * ext/socket/socket.c (sock_define_uconst): defined. Modified files: branches/ruby_1_9_1/ChangeLog branches/ruby_1_9_1/ext/socket/mkconstants.rb branches/ruby_1_9_1/ext/socket/socket.c Index: ruby_1_9_1/ChangeLog =================================================================== --- ruby_1_9_1/ChangeLog (revision 21225) +++ ruby_1_9_1/ChangeLog (revision 21226) @@ -1,3 +1,11 @@ +Tue Dec 30 21:17:00 2008 Tanaka Akira <akr@f...> + + * ext/socket/mkconstants.rb: use sock_define_uconst for INADDR_* + constants because Socket::INADDR_LOOPBACK should be 0x7f000001 + instead of -0xffffff. + + * ext/socket/socket.c (sock_define_uconst): defined. + Tue Dec 30 18:23:10 2008 Ryan Davis <ryand-ruby@z...> * lib/minitest/*.rb: Imported minitest 1.3.1 r4506. Index: ruby_1_9_1/ext/socket/mkconstants.rb =================================================================== --- ruby_1_9_1/ext/socket/mkconstants.rb (revision 21225) +++ ruby_1_9_1/ext/socket/mkconstants.rb (revision 21226) @@ -7,11 +7,16 @@ DATA.each_line do |s| name, value = s.scan(/\S+/) if name && name[0] != ?# + if name =~ /\AINADDR_/ + define = "sock_define_uconst" + else + define = "sock_define_const" + end $out.puts("#ifdef #{name}") - $out.puts(" sock_define_const(\"#{name}\", #{name});") + $out.puts(" #{define}(\"#{name}\", #{name});") if value $out.puts("#else") - $out.puts(" sock_define_const(\"#{name}\", #{value});") + $out.puts(" #{define}(\"#{name}\", #{value});") end $out.puts("#endif") $out.puts Index: ruby_1_9_1/ext/socket/socket.c =================================================================== --- ruby_1_9_1/ext/socket/socket.c (revision 21225) +++ ruby_1_9_1/ext/socket/socket.c (revision 21226) @@ -3555,7 +3555,16 @@ rb_define_const(rb_cSocket, name, INT2FIX(value)); rb_define_const(mConst, name, INT2FIX(value)); } + +static void +sock_define_uconst(const char *name, unsigned int value, VALUE mConst) +{ + rb_define_const(rb_cSocket, name, UINT2NUM(value)); + rb_define_const(mConst, name, UINT2NUM(value)); +} + #define sock_define_const(name, value) sock_define_const(name, value, mConst) +#define sock_define_uconst(name, value) sock_define_uconst(name, value, mConst) /* * Class +Socket+ provides access to the underlying operating system -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/