summaryrefslogtreecommitdiff
path: root/ext/socket
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 /ext/socket
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
Diffstat (limited to 'ext/socket')
-rw-r--r--ext/socket/mkconstants.rb4
-rw-r--r--ext/socket/socket.c4
2 files changed, 7 insertions, 1 deletions
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);
}