summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-01 07:09:19 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-01 07:09:19 +0000
commit89cf0ec1a611494f15076d590fd6af214d4ff5ad (patch)
tree63027b9caa79a49c7a1b003006d53b6a8f986cf2
parent2b3e480bef31e3a1cb30e37ec92e5a59f8b0aa7a (diff)
* ext/socket/mkconstants.rb: generate init_constants function.
* ext/socket/socket.c (Init_socket): call init_constants. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--ext/socket/mkconstants.rb4
-rw-r--r--ext/socket/socket.c4
3 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e22739c077..447dca2056 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Jan 1 16:08:11 2009 Tanaka Akira <[email protected]>
+
+ * ext/socket/mkconstants.rb: generate init_constants function.
+
+ * ext/socket/socket.c (Init_socket): call init_constants.
+
Thu Jan 1 16:03:04 2009 Tanaka Akira <[email protected]>
* ext/socket/mkconstants.rb (Socket::AF_INET6): moved from socket.c.
diff --git a/ext/socket/mkconstants.rb b/ext/socket/mkconstants.rb
index 02d7e17b77..257b315c19 100644
--- a/ext/socket/mkconstants.rb
+++ b/ext/socket/mkconstants.rb
@@ -53,6 +53,9 @@ def each_data
end
result << ERB.new(<<'EOS', nil, '%').result(binding)
+static void
+init_constants(VALUE mConst)
+{
% each_data {|guard, define, name, default_value|
% if guard
#if <%=guard%>
@@ -69,6 +72,7 @@ result << ERB.new(<<'EOS', nil, '%').result(binding)
% end
% }
+}
EOS
if opt_o
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index b91e1396cd..fe972ce5f7 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -3592,6 +3592,8 @@ sock_define_uconst(const char *name, unsigned int value, VALUE mConst)
#define sock_define_const(name, value) sock_define_const(name, value, mConst)
#define sock_define_uconst(name, value) sock_define_uconst(name, value, mConst)
+#include "constants.h"
+
/*
* Class +Socket+ provides access to the underlying operating system
* socket implementations. It can be used to provide more operating system
@@ -3732,5 +3734,5 @@ Init_socket()
/* constants */
mConst = rb_define_module_under(rb_cSocket, "Constants");
-#include "constants.h"
+ init_constants(mConst);
}