[PATCH 1/2] Update make_specfiles to handle ucrtbase's _o_* functions

Max Qian public at maxqia.com
Wed Jun 21 17:47:47 CDT 2017


Helps fix https://bugs.winehq.org/show_bug.cgi?id=38960
I'm 99% sure that all of them redirect to the non _o_ functions,
and this is required to get Steam working with Windows <=7 mode.

Signed-off-by: Max Qian <public at maxqia.com>
---
 tools/make_specfiles | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/tools/make_specfiles b/tools/make_specfiles
index ca620da8e6..ec2bb75ac9 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -53,6 +53,10 @@ my @dll_groups =
  ],
  [
   "ucrtbase",
+  "ucrtbase", # part of a recursive hack
+ ],
+ [
+  "ucrtbase",
   "api-ms-win-crt-conio-l1-1-0",
   "api-ms-win-crt-convert-l1-1-0",
   "api-ms-win-crt-environment-l1-1-0",
@@ -459,8 +463,18 @@ sub update_spec_file($)
             goto done;
         }
 
-        my %parent = %{$funcs{$func}};
-        goto done if $parent{spec} eq $descr{spec};  # the definition is in this spec file
+        my $find = $func;
+        my $recursive = 0;
+        if ($name eq "ucrtbase") # recursive hack
+        {
+            if ($find =~ m/_o_/)
+            {
+               $find =~ s/_o_//;
+               $recursive = 1;
+            }
+        }
+        my %parent = %{$funcs{$find}};
+        goto done if not $recursive and $parent{spec} eq $descr{spec};  # the definition is in this spec file
         goto done if $descr{comment} && $descr{comment} =~ /don't forward/;
         if ($descr{callconv} ne "stub" && $descr{target} !~ /\./ && !$commented_out)
         {
-- 
2.13.1




More information about the wine-patches mailing list