Rebase against f17120d11b0e1272bb9742ad88eb526ac914d7da

This commit is contained in:
Alistair Leslie-Hughes
2018-03-03 19:18:25 +11:00
parent 4f315f2a10
commit 1fdaf4c4e5
11 changed files with 11 additions and 411 deletions

View File

@@ -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

View File

@@ -1 +0,0 @@
Fixes: [42474] Implement kernelbase.PathCchCombineEx