1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* 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.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2008-12-30 12:19:40 +00:00
parent 70365e5deb
commit a413e50c41
3 changed files with 24 additions and 2 deletions

View file

@ -1,3 +1,11 @@
Tue Dec 30 21:17:00 2008 Tanaka Akira <akr@fsij.org>
* 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@zenspider.com>
* lib/minitest/*.rb: Imported minitest 1.3.1 r4506.

View file

@ -7,11 +7,16 @@ $out.puts("#define pseudo_AF_FTIP pseudo_AF_RTIP")
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

View file

@ -3557,7 +3557,16 @@ sock_define_const(const char *name, int value, VALUE mConst)
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