[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: [PATCH 1/5] services: Fall back to the current architecture if GetBinaryType fails.
From: Zebediah Figura <z.figura12 () gmail ! com>
Date: 2018-04-30 18:59:54
Message-ID: 1525114798-23413-1-git-send-email-z.figura12 () gmail ! com
[Download RAW message or body]
This allows loading a test DLL on Wine.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
---
programs/services/services.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/programs/services/services.c b/programs/services/services.c
index eba98d6..1973d27 100644
--- a/programs/services/services.c
+++ b/programs/services/services.c
@@ -723,7 +723,7 @@ static DWORD get_service_binary_path(const struct service_entry \
*service_entry, return ERROR_SUCCESS;
}
-static DWORD get_winedevice_binary_path(WCHAR **path, BOOL *is_wow64)
+static DWORD get_winedevice_binary_path(struct service_entry *service_entry, WCHAR \
**path, BOOL *is_wow64) {
static const WCHAR winedeviceW[] = \
{'\\','w','i','n','e','d','e','v','i','c','e','.','e','x','e',0}; WCHAR \
system_dir[MAX_PATH]; @@ -734,7 +734,7 @@ static DWORD \
get_winedevice_binary_path(WCHAR **path, BOOL *is_wow64) else if \
(GetBinaryTypeW(*path, &type))
*is_wow64 = (type == SCS_32BIT_BINARY);
else
- return GetLastError();
+ *is_wow64 = service_entry->is_wow64;
GetSystemDirectoryW(system_dir, MAX_PATH);
HeapFree(GetProcessHeap(), 0, *path);
@@ -857,7 +857,7 @@ static DWORD service_start_process(struct service_entry \
*service_entry, struct p struct service_entry *winedevice_entry;
WCHAR *group;
- if ((err = get_winedevice_binary_path(&path, &is_wow64)))
+ if ((err = get_winedevice_binary_path(service_entry, &path, &is_wow64)))
{
service_unlock(service_entry);
HeapFree(GetProcessHeap(), 0, path);
--
2.7.4
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic