Alexandre Julliard : kernel32: Remove actctx.c.
Alexandre Julliard
julliard at winehq.org
Tue May 26 17:17:06 CDT 2020
Module: wine
Branch: master
Commit: 30428c19c184d08c6b8ae39ef758847313822806
URL: https://source.winehq.org/git/wine.git/?a=commit;h=30428c19c184d08c6b8ae39ef758847313822806
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue May 26 14:38:20 2020 +0200
kernel32: Remove actctx.c.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/kernel32/Makefile.in | 1 -
dlls/kernel32/actctx.c | 142 ----------------------------------------------
dlls/kernel32/process.c | 101 +++++++++++++++++++++++++++++++++
3 files changed, 101 insertions(+), 143 deletions(-)
diff --git a/dlls/kernel32/Makefile.in b/dlls/kernel32/Makefile.in
index d9b1ca575c..c32cb5e53f 100644
--- a/dlls/kernel32/Makefile.in
+++ b/dlls/kernel32/Makefile.in
@@ -6,7 +6,6 @@ EXTRALIBS = $(COREFOUNDATION_LIBS) $(POLL_LIBS) $(RT_LIBS)
EXTRADLLFLAGS = -nodefaultlibs -Wb,-F,KERNEL32.dll -Wl,--image-base,0x7b600000
C_SRCS = \
- actctx.c \
atom.c \
comm.c \
computername.c \
diff --git a/dlls/kernel32/actctx.c b/dlls/kernel32/actctx.c
deleted file mode 100644
index 794fbe8d0a..0000000000
--- a/dlls/kernel32/actctx.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Activation contexts
- *
- * Copyright 2004 Jon Griffiths
- * Copyright 2007 Eric Pouech
- * Copyright 2007 Jacek Caban for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include "config.h"
-#include "wine/port.h"
-
-#include <stdarg.h>
-#include "windef.h"
-#include "winbase.h"
-#include "winerror.h"
-#include "winnls.h"
-#include "winternl.h"
-#include "wine/debug.h"
-
-WINE_DEFAULT_DEBUG_CHANNEL(actctx);
-
-/***********************************************************************
- * CreateActCtxA (KERNEL32.@)
- *
- * Create an activation context.
- */
-HANDLE WINAPI DECLSPEC_HOTPATCH CreateActCtxA(PCACTCTXA pActCtx)
-{
- ACTCTXW actw;
- SIZE_T len;
- HANDLE ret = INVALID_HANDLE_VALUE;
- LPWSTR src = NULL, assdir = NULL, resname = NULL, appname = NULL;
-
- TRACE("%p %08x\n", pActCtx, pActCtx ? pActCtx->dwFlags : 0);
-
- if (!pActCtx || pActCtx->cbSize != sizeof(*pActCtx))
- {
- SetLastError(ERROR_INVALID_PARAMETER);
- return INVALID_HANDLE_VALUE;
- }
-
- actw.cbSize = sizeof(actw);
- actw.dwFlags = pActCtx->dwFlags;
- if (pActCtx->lpSource)
- {
- len = MultiByteToWideChar(CP_ACP, 0, pActCtx->lpSource, -1, NULL, 0);
- src = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
- if (!src) return INVALID_HANDLE_VALUE;
- MultiByteToWideChar(CP_ACP, 0, pActCtx->lpSource, -1, src, len);
- }
- actw.lpSource = src;
-
- if (actw.dwFlags & ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID)
- actw.wProcessorArchitecture = pActCtx->wProcessorArchitecture;
- if (actw.dwFlags & ACTCTX_FLAG_LANGID_VALID)
- actw.wLangId = pActCtx->wLangId;
- if (actw.dwFlags & ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID)
- {
- len = MultiByteToWideChar(CP_ACP, 0, pActCtx->lpAssemblyDirectory, -1, NULL, 0);
- assdir = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
- if (!assdir) goto done;
- MultiByteToWideChar(CP_ACP, 0, pActCtx->lpAssemblyDirectory, -1, assdir, len);
- actw.lpAssemblyDirectory = assdir;
- }
- if (actw.dwFlags & ACTCTX_FLAG_RESOURCE_NAME_VALID)
- {
- if ((ULONG_PTR)pActCtx->lpResourceName >> 16)
- {
- len = MultiByteToWideChar(CP_ACP, 0, pActCtx->lpResourceName, -1, NULL, 0);
- resname = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
- if (!resname) goto done;
- MultiByteToWideChar(CP_ACP, 0, pActCtx->lpResourceName, -1, resname, len);
- actw.lpResourceName = resname;
- }
- else actw.lpResourceName = (LPCWSTR)pActCtx->lpResourceName;
- }
- if (actw.dwFlags & ACTCTX_FLAG_APPLICATION_NAME_VALID)
- {
- len = MultiByteToWideChar(CP_ACP, 0, pActCtx->lpApplicationName, -1, NULL, 0);
- appname = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
- if (!appname) goto done;
- MultiByteToWideChar(CP_ACP, 0, pActCtx->lpApplicationName, -1, appname, len);
- actw.lpApplicationName = appname;
- }
- if (actw.dwFlags & ACTCTX_FLAG_HMODULE_VALID)
- actw.hModule = pActCtx->hModule;
-
- ret = CreateActCtxW(&actw);
-
-done:
- HeapFree(GetProcessHeap(), 0, src);
- HeapFree(GetProcessHeap(), 0, assdir);
- HeapFree(GetProcessHeap(), 0, resname);
- HeapFree(GetProcessHeap(), 0, appname);
- return ret;
-}
-
-/***********************************************************************
- * FindActCtxSectionStringA (KERNEL32.@)
- *
- * Find information about a string in an activation context.
- */
-BOOL WINAPI FindActCtxSectionStringA(DWORD dwFlags, const GUID* lpExtGuid,
- ULONG ulId, LPCSTR lpSearchStr,
- PACTCTX_SECTION_KEYED_DATA pInfo)
-{
- LPWSTR search_str;
- DWORD len;
- BOOL ret;
-
- TRACE("%08x %s %u %s %p\n", dwFlags, debugstr_guid(lpExtGuid),
- ulId, debugstr_a(lpSearchStr), pInfo);
-
- if (!lpSearchStr || !pInfo)
- {
- SetLastError(ERROR_INVALID_PARAMETER);
- return FALSE;
- }
-
- len = MultiByteToWideChar(CP_ACP, 0, lpSearchStr, -1, NULL, 0);
- search_str = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
- MultiByteToWideChar(CP_ACP, 0, lpSearchStr, -1, search_str, len);
-
- ret = FindActCtxSectionStringW(dwFlags, lpExtGuid, ulId, search_str, pInfo);
-
- HeapFree(GetProcessHeap(), 0, search_str);
- return ret;
-}
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 1c3ed9938f..9adf25ab48 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -515,6 +515,107 @@ HANDLE WINAPI KERNEL32_GetCurrentProcess(void)
return (HANDLE)~(ULONG_PTR)0;
}
+
+/***********************************************************************
+ * CreateActCtxA (KERNEL32.@)
+ */
+HANDLE WINAPI DECLSPEC_HOTPATCH CreateActCtxA( const ACTCTXA *actctx )
+{
+ ACTCTXW actw;
+ SIZE_T len;
+ HANDLE ret = INVALID_HANDLE_VALUE;
+ LPWSTR src = NULL, assdir = NULL, resname = NULL, appname = NULL;
+
+ TRACE("%p %08x\n", actctx, actctx ? actctx->dwFlags : 0);
+
+ if (!actctx || actctx->cbSize != sizeof(*actctx))
+ {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return INVALID_HANDLE_VALUE;
+ }
+
+ actw.cbSize = sizeof(actw);
+ actw.dwFlags = actctx->dwFlags;
+ if (actctx->lpSource)
+ {
+ len = MultiByteToWideChar(CP_ACP, 0, actctx->lpSource, -1, NULL, 0);
+ src = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ if (!src) return INVALID_HANDLE_VALUE;
+ MultiByteToWideChar(CP_ACP, 0, actctx->lpSource, -1, src, len);
+ }
+ actw.lpSource = src;
+
+ if (actw.dwFlags & ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID)
+ actw.wProcessorArchitecture = actctx->wProcessorArchitecture;
+ if (actw.dwFlags & ACTCTX_FLAG_LANGID_VALID)
+ actw.wLangId = actctx->wLangId;
+ if (actw.dwFlags & ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID)
+ {
+ len = MultiByteToWideChar(CP_ACP, 0, actctx->lpAssemblyDirectory, -1, NULL, 0);
+ assdir = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ if (!assdir) goto done;
+ MultiByteToWideChar(CP_ACP, 0, actctx->lpAssemblyDirectory, -1, assdir, len);
+ actw.lpAssemblyDirectory = assdir;
+ }
+ if (actw.dwFlags & ACTCTX_FLAG_RESOURCE_NAME_VALID)
+ {
+ if ((ULONG_PTR)actctx->lpResourceName >> 16)
+ {
+ len = MultiByteToWideChar(CP_ACP, 0, actctx->lpResourceName, -1, NULL, 0);
+ resname = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ if (!resname) goto done;
+ MultiByteToWideChar(CP_ACP, 0, actctx->lpResourceName, -1, resname, len);
+ actw.lpResourceName = resname;
+ }
+ else actw.lpResourceName = (LPCWSTR)actctx->lpResourceName;
+ }
+ if (actw.dwFlags & ACTCTX_FLAG_APPLICATION_NAME_VALID)
+ {
+ len = MultiByteToWideChar(CP_ACP, 0, actctx->lpApplicationName, -1, NULL, 0);
+ appname = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ if (!appname) goto done;
+ MultiByteToWideChar(CP_ACP, 0, actctx->lpApplicationName, -1, appname, len);
+ actw.lpApplicationName = appname;
+ }
+ if (actw.dwFlags & ACTCTX_FLAG_HMODULE_VALID)
+ actw.hModule = actctx->hModule;
+
+ ret = CreateActCtxW(&actw);
+
+done:
+ HeapFree(GetProcessHeap(), 0, src);
+ HeapFree(GetProcessHeap(), 0, assdir);
+ HeapFree(GetProcessHeap(), 0, resname);
+ HeapFree(GetProcessHeap(), 0, appname);
+ return ret;
+}
+
+/***********************************************************************
+ * FindActCtxSectionStringA (KERNEL32.@)
+ */
+BOOL WINAPI FindActCtxSectionStringA( DWORD flags, const GUID *guid, ULONG id, const char *search,
+ ACTCTX_SECTION_KEYED_DATA *info )
+{
+ LPWSTR searchW;
+ DWORD len;
+ BOOL ret;
+
+ TRACE("%08x %s %u %s %p\n", flags, debugstr_guid(guid), id, debugstr_a(search), info);
+
+ if (!search || !info)
+ {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
+ len = MultiByteToWideChar(CP_ACP, 0, search, -1, NULL, 0);
+ searchW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, search, -1, searchW, len);
+ ret = FindActCtxSectionStringW( flags, guid, id, searchW, info );
+ HeapFree(GetProcessHeap(), 0, searchW);
+ return ret;
+}
+
+
/***********************************************************************
* CmdBatNotification (KERNEL32.@)
*
More information about the wine-cvs
mailing list