ruby-changes:9661
From: akr <ko1@a...>
Date: Tue, 30 Dec 2008 21:19:58 +0900 (JST)
Subject: [ruby-changes:9661] Ruby:r21202 (trunk): * ext/socket/mkconstants.rb: use sock_define_uconst for INADDR_*
akr 2008-12-30 21:19:40 +0900 (Tue, 30 Dec 2008) New Revision: 21202 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21202 Log: * 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: trunk/ChangeLog trunk/ext/socket/mkconstants.rb trunk/ext/socket/socket.c Index: ChangeLog =================================================================== --- ChangeLog (revision 21201) +++ ChangeLog (revision 21202) @@ -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: ext/socket/mkconstants.rb =================================================================== --- ext/socket/mkconstants.rb (revision 21201) +++ ext/socket/mkconstants.rb (revision 21202) @@ -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: ext/socket/socket.c =================================================================== --- ext/socket/socket.c (revision 21201) +++ ext/socket/socket.c (revision 21202) @@ -3557,7 +3557,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/