You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against f17120d11b0e1272bb9742ad88eb526ac914d7da
This commit is contained in:
@@ -1,98 +0,0 @@
|
||||
From dae45d1760dbbf114271bec67170e2e721c52904 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 16 Aug 2017 02:45:23 +0200
|
||||
Subject: [PATCH] kernelbase: Add semi-stub for PathCchCombineEx.
|
||||
|
||||
---
|
||||
.../api-ms-win-core-path-l1-1-0.spec | 2 +-
|
||||
dlls/kernelbase/Makefile.in | 4 ++-
|
||||
dlls/kernelbase/kernelbase.spec | 2 +-
|
||||
dlls/kernelbase/main.c | 29 ++++++++++++++++++++++
|
||||
4 files changed, 34 insertions(+), 3 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..4df147e 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
|
||||
@@ -8,7 +8,7 @@
|
||||
@ stub PathCchCanonicalize
|
||||
@ stub PathCchCanonicalizeEx
|
||||
@ stub PathCchCombine
|
||||
-@ stub PathCchCombineEx
|
||||
+@ stdcall PathCchCombineEx(ptr long ptr ptr long) kernelbase.PathCchCombineEx
|
||||
@ stub PathCchFindExtension
|
||||
@ stub PathCchIsRoot
|
||||
@ stub PathCchRemoveBackslash
|
||||
diff --git a/dlls/kernelbase/Makefile.in b/dlls/kernelbase/Makefile.in
|
||||
index 74df98c..247c6bf 100644
|
||||
--- a/dlls/kernelbase/Makefile.in
|
||||
+++ b/dlls/kernelbase/Makefile.in
|
||||
@@ -1,4 +1,6 @@
|
||||
-MODULE = kernelbase.dll
|
||||
+MODULE = kernelbase.dll
|
||||
+IMPORTLIB = kernelbase
|
||||
+IMPORTS = shlwapi
|
||||
|
||||
C_SRCS = \
|
||||
main.c
|
||||
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
|
||||
index aa67372..8caa3b5 100644
|
||||
--- a/dlls/kernelbase/kernelbase.spec
|
||||
+++ b/dlls/kernelbase/kernelbase.spec
|
||||
@@ -1037,7 +1037,7 @@
|
||||
# @ stub PathCchCanonicalize
|
||||
# @ stub PathCchCanonicalizeEx
|
||||
# @ stub PathCchCombine
|
||||
-# @ stub PathCchCombineEx
|
||||
+@ stdcall PathCchCombineEx(ptr long ptr ptr long)
|
||||
# @ stub PathCchFindExtension
|
||||
# @ stub PathCchIsRoot
|
||||
# @ stub PathCchRemoveBackslash
|
||||
diff --git a/dlls/kernelbase/main.c b/dlls/kernelbase/main.c
|
||||
index 6871aca..7716912 100644
|
||||
--- a/dlls/kernelbase/main.c
|
||||
+++ b/dlls/kernelbase/main.c
|
||||
@@ -20,7 +20,11 @@
|
||||
#include "windows.h"
|
||||
#include "appmodel.h"
|
||||
|
||||
+#include "shlwapi.h"
|
||||
+#include "strsafe.h"
|
||||
+
|
||||
#include "wine/debug.h"
|
||||
+#include "wine/unicode.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(kernelbase);
|
||||
|
||||
@@ -97,3 +101,28 @@ BOOL WINAPI QuirkIsEnabled3(void *unk1, void *unk2)
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
+
|
||||
+/***********************************************************************
|
||||
+ * PathCchCombineEx (KERNELBASE.@)
|
||||
+ */
|
||||
+HRESULT WINAPI PathCchCombineEx(WCHAR *out, SIZE_T size, const WCHAR *path1, const WCHAR *path2, DWORD flags)
|
||||
+{
|
||||
+ WCHAR result[MAX_PATH];
|
||||
+
|
||||
+ FIXME("(%p, %lu, %s, %s, %x): semi-stub\n", out, size, wine_dbgstr_w(path1), wine_dbgstr_w(path2), flags);
|
||||
+
|
||||
+ if (!out || !size) return E_INVALIDARG;
|
||||
+ if (flags) FIXME("Flags %x not supported\n", flags);
|
||||
+
|
||||
+ if (!PathCombineW(result, path1, path2))
|
||||
+ return E_INVALIDARG;
|
||||
+
|
||||
+ if (strlenW(result) + 1 > size)
|
||||
+ {
|
||||
+ out[0] = 0;
|
||||
+ return STRSAFE_E_INSUFFICIENT_BUFFER;
|
||||
+ }
|
||||
+
|
||||
+ strcpyW(out, result);
|
||||
+ return S_OK;
|
||||
+}
|
||||
--
|
||||
2.7.4
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [42474] Implement kernelbase.PathCchCombineEx
|
Reference in New Issue
Block a user