[前][次][番号順一覧][スレッド一覧]

ruby-changes:21830

From: nobu <ko1@a...>
Date: Mon, 28 Nov 2011 12:15:46 +0900 (JST)
Subject: [ruby-changes:21830] nobu:r33879 (trunk): * win32/mkexports.rb (Exports#read_substitution): need to read

nobu	2011-11-28 12:15:31 +0900 (Mon, 28 Nov 2011)

  New Revision: 33879

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=33879

  Log:
    * win32/mkexports.rb (Exports#read_substitution): need to read
      from subst.h too.  [Bug #5675]

  Modified files:
    trunk/ChangeLog
    trunk/win32/mkexports.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 33878)
+++ ChangeLog	(revision 33879)
@@ -1,3 +1,8 @@
+Mon Nov 28 12:15:28 2011  Nobuyoshi Nakada  <nobu@r...>
+
+	* win32/mkexports.rb (Exports#read_substitution): need to read
+	  from subst.h too.  [Bug #5675]
+
 Mon Nov 28 11:46:35 2011  NAKAMURA Usaku  <usa@r...>
 
 	* io.c (rb_io_flush): release GVL during fsync() on Windows.
Index: win32/mkexports.rb
===================================================================
--- win32/mkexports.rb	(revision 33878)
+++ win32/mkexports.rb	(revision 33879)
@@ -41,8 +41,17 @@
       syms[internal] = export
       winapis[$1] = internal if /^_?(rb_w32_\w+)(?:@\d+)?$/ =~ internal
     end
-    win32h = File.join(File.dirname(File.dirname(__FILE__)), "include/ruby/win32.h")
-    IO.foreach(win32h) do |line|
+    incdir = File.join(File.dirname(File.dirname(__FILE__)), "include/ruby")
+    read_substitution(incdir+"/win32.h", syms, winapis)
+    read_substitution(incdir+"/subst.h", syms, winapis)
+    syms["NtInitialize"] ||= "ruby_sysinit" if syms["ruby_sysinit"]
+    syms["rb_w32_vsnprintf"] ||= "ruby_vsnprintf"
+    syms["rb_w32_snprintf"] ||= "ruby_snprintf"
+    @syms = syms
+  end
+
+  def read_substitution(header, syms, winapis)
+    IO.foreach(header) do |line|
       if /^#define (\w+)\((.*?)\)\s+(?:\(void\))?(rb_w32_\w+)\((.*?)\)\s*$/ =~ line and
           $2.delete(" ") == $4.delete(" ")
         export, internal = $1, $3
@@ -51,10 +60,6 @@
         end
       end
     end
-    syms["NtInitialize"] ||= "ruby_sysinit" if syms["ruby_sysinit"]
-    syms["rb_w32_vsnprintf"] ||= "ruby_vsnprintf"
-    syms["rb_w32_snprintf"] ||= "ruby_snprintf"
-    @syms = syms
   end
 
   def exports(name = $name, library = $library, description = $description)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]