api-ms-wine-core-path: Hide win7+ exports. Superseded

Revisions: 

Revision 1

user image Gijs Vermeulen Author
09 Aug. 17

These functions forward to kernelbase, but if you look at kernelbase.spec, these functions are hidden there too.
This works around https://bugs.winehq.org/show_bug.cgi?id=42474 and makes CPython work.

Is this acceptable for staging?

user image Michael Müller
15 Aug. 17

I am not sure whether it makes sense to remove those entries from the spec file if PathCchCombineEx is the only missing function. We could add a semi stub by calling PathCombine. I also think that implementing the function isn't that hard either. The only problem is that we would need to move the existing code from shlwapi to kernelbase (basically path.c). Adding a dependency on shlwapi from kernelbase doesn't sound right ;-).

user image Gijs Vermeulen Author
15 Aug. 17

So would it be worth it to send a patch which calls PathCombineW?

user image Sebastian Lackner
16 Aug. 17

Michael Müller has submitted a real implementation here: https://dev.wine-staging.com/patches/172/

Could you please test if it fixes the issue?

user image Gijs Vermeulen Author
17 Aug. 17

I just tested it and yes, it fixes the issue.

user image Sebastian Lackner
19 Aug. 17

The patch by Michel has been added, so this workaround should no longer be necessary. Closing as superseded.

Single files Merged diff Tar archive
You have unsaved changes. Press CTRL + ENTER in a text field to submit your comments.

exports.patch

From 8c6a9d99d9d627ca344361be07c0df4404d32ddb Mon Sep 17 00:00:00 2001
From: Gijs Vermeulen <gijsvrm@gmail.com>
Date: Wed, 9 Aug 2017 16:43:29 +0200
Subject: [PATCH] api-ms-wine-core-path: Hide win7+ exports.
These functions forward to kernelbase, but if you look at kernelbase.spec, these functions are hidden there too.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
---
.../api-ms-win-core-path-l1-1-0.spec | 44 +++++++++++-----------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec b/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec
index cb10d89..635c93e 100644
--- a/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec
+++ b/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec
@@ -1,22 +1,22 @@
-@ stub PathAllocCanonicalize
-@ stub PathAllocCombine
-@ stub PathCchAddBackslash
-@ stub PathCchAddBackslashEx
-@ stub PathCchAddExtension
-@ stub PathCchAppend
-@ stub PathCchAppendEx
-@ stub PathCchCanonicalize
-@ stub PathCchCanonicalizeEx
-@ stub PathCchCombine
-@ stub PathCchCombineEx
-@ stub PathCchFindExtension
-@ stub PathCchIsRoot
-@ stub PathCchRemoveBackslash
-@ stub PathCchRemoveBackslashEx
-@ stub PathCchRemoveExtension
-@ stub PathCchRemoveFileSpec
-@ stub PathCchRenameExtension
-@ stub PathCchSkipRoot
-@ stub PathCchStripPrefix
-@ stub PathCchStripToRoot
-@ stub PathIsUNCEx
+# @ stub PathAllocCanonicalize
+# @ stub PathAllocCombine
+# @ stub PathCchAddBackslash
+# @ stub PathCchAddBackslashEx
+# @ stub PathCchAddExtension
+# @ stub PathCchAppend
+# @ stub PathCchAppendEx
+# @ stub PathCchCanonicalize
+# @ stub PathCchCanonicalizeEx
+# @ stub PathCchCombine
+# @ stub PathCchCombineEx
+# @ stub PathCchFindExtension
+# @ stub PathCchIsRoot
+# @ stub PathCchRemoveBackslash
+# @ stub PathCchRemoveBackslashEx
+# @ stub PathCchRemoveExtension
+# @ stub PathCchRemoveFileSpec
+# @ stub PathCchRenameExtension
+# @ stub PathCchSkipRoot
+# @ stub PathCchStripPrefix
+# @ stub PathCchStripToRoot
+# @ stub PathIsUNCEx
--
2.7.4