mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Rebase against 4c6aa8b2fa1678c39aa5a89d9b26cfc4002e744e
This commit is contained in:
parent
ca09e8918c
commit
35a5f7db93
File diff suppressed because it is too large
Load Diff
@ -1,25 +1,25 @@
|
||||
From 7dac195394ed70c62bf7c20794e737071b94e0cb Mon Sep 17 00:00:00 2001
|
||||
From 5e739bc4d78bbf6598a8feb7a8cf50e875f86e7f Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Wed, 13 Jun 2018 23:58:01 -0500
|
||||
Subject: [PATCH 51/83] kernel32/tests: Add some tests for wait timeouts.
|
||||
Subject: [PATCH] kernel32/tests: Add some tests for wait timeouts.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/sync.c | 68 ++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 68 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/sync.c b/dlls/kernel32/tests/sync.c
|
||||
index 0fb3fd70e..c79e0595e 100644
|
||||
index 5fd758118fa..6b1d11a8a3c 100644
|
||||
--- a/dlls/kernel32/tests/sync.c
|
||||
+++ b/dlls/kernel32/tests/sync.c
|
||||
@@ -54,6 +54,7 @@ static BOOLEAN (WINAPI *pTryAcquireSRWLockShared)(PSRWLOCK);
|
||||
@@ -55,6 +55,7 @@ static BOOLEAN (WINAPI *pTryAcquireSRWLockShared)(PSRWLOCK);
|
||||
|
||||
static NTSTATUS (WINAPI *pNtAllocateVirtualMemory)(HANDLE, PVOID *, ULONG, SIZE_T *, ULONG, ULONG);
|
||||
static NTSTATUS (WINAPI *pNtAllocateVirtualMemory)(HANDLE, PVOID *, ULONG_PTR, SIZE_T *, ULONG, ULONG);
|
||||
static NTSTATUS (WINAPI *pNtFreeVirtualMemory)(HANDLE, PVOID *, SIZE_T *, ULONG);
|
||||
+static NTSTATUS (WINAPI *pNtQuerySystemTime)(LARGE_INTEGER *);
|
||||
static NTSTATUS (WINAPI *pNtWaitForSingleObject)(HANDLE, BOOLEAN, const LARGE_INTEGER *);
|
||||
static NTSTATUS (WINAPI *pNtWaitForMultipleObjects)(ULONG,const HANDLE*,BOOLEAN,BOOLEAN,const LARGE_INTEGER*);
|
||||
static PSLIST_ENTRY (__fastcall *pRtlInterlockedPushListSList)(PSLIST_HEADER list, PSLIST_ENTRY first,
|
||||
@@ -1480,11 +1481,15 @@ static HANDLE modify_handle(HANDLE handle, DWORD modify)
|
||||
@@ -1481,11 +1482,15 @@ static HANDLE modify_handle(HANDLE handle, DWORD modify)
|
||||
return ULongToHandle(tmp);
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ index 0fb3fd70e..c79e0595e 100644
|
||||
DWORD ret;
|
||||
|
||||
signaled = CreateEventW(NULL, TRUE, TRUE, NULL);
|
||||
@@ -1569,6 +1574,68 @@ static void test_WaitForSingleObject(void)
|
||||
@@ -1570,6 +1575,68 @@ static void test_WaitForSingleObject(void)
|
||||
status = pNtWaitForSingleObject(GetCurrentThread(), FALSE, &timeout);
|
||||
ok(status == STATUS_TIMEOUT, "expected STATUS_TIMEOUT, got %08x\n", status);
|
||||
|
||||
@ -104,7 +104,7 @@ index 0fb3fd70e..c79e0595e 100644
|
||||
CloseHandle(signaled);
|
||||
CloseHandle(nonsignaled);
|
||||
}
|
||||
@@ -2963,6 +3030,7 @@ START_TEST(sync)
|
||||
@@ -3003,6 +3070,7 @@ START_TEST(sync)
|
||||
pTryAcquireSRWLockShared = (void *)GetProcAddress(hdll, "TryAcquireSRWLockShared");
|
||||
pNtAllocateVirtualMemory = (void *)GetProcAddress(hntdll, "NtAllocateVirtualMemory");
|
||||
pNtFreeVirtualMemory = (void *)GetProcAddress(hntdll, "NtFreeVirtualMemory");
|
||||
@ -113,5 +113,5 @@ index 0fb3fd70e..c79e0595e 100644
|
||||
pNtWaitForMultipleObjects = (void *)GetProcAddress(hntdll, "NtWaitForMultipleObjects");
|
||||
pRtlInterlockedPushListSList = (void *)GetProcAddress(hntdll, "RtlInterlockedPushListSList");
|
||||
--
|
||||
2.20.1
|
||||
2.17.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 7eab2b3aaa657c6db87de440786dedecae1abe21 Mon Sep 17 00:00:00 2001
|
||||
From c2736168d1010e311233bfc078b75bfcd68b959d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 28 May 2017 11:17:26 +0200
|
||||
Subject: [PATCH] ntdll: Resolve drive symlinks before returning section name.
|
||||
@ -11,10 +11,10 @@ Subject: [PATCH] ntdll: Resolve drive symlinks before returning section name.
|
||||
4 files changed, 35 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
|
||||
index 4810a9b7962..c6d496abdf2 100644
|
||||
index 6ea95037153..725c002ab62 100644
|
||||
--- a/dlls/ntdll/directory.c
|
||||
+++ b/dlls/ntdll/directory.c
|
||||
@@ -2928,7 +2928,7 @@ static NTSTATUS nt_to_unix_file_name_internal( const UNICODE_STRING *nameW, ANSI
|
||||
@@ -2875,7 +2875,7 @@ static NTSTATUS nt_to_unix_file_name_internal( const UNICODE_STRING *nameW, ANSI
|
||||
}
|
||||
|
||||
/* read the contents of an NT symlink object */
|
||||
@ -24,19 +24,19 @@ index 4810a9b7962..c6d496abdf2 100644
|
||||
OBJECT_ATTRIBUTES attr;
|
||||
UNICODE_STRING targetW;
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index 5edd53c4610..6e1f14c432d 100644
|
||||
index 59393e3a414..1b2b4e701bb 100644
|
||||
--- a/dlls/ntdll/ntdll_misc.h
|
||||
+++ b/dlls/ntdll/ntdll_misc.h
|
||||
@@ -176,6 +176,7 @@ extern NTSTATUS nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, ANSI_S
|
||||
@@ -171,6 +171,7 @@ extern NTSTATUS nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, ANSI_S
|
||||
/* virtual memory */
|
||||
extern NTSTATUS virtual_alloc_aligned( PVOID *ret, ULONG zero_bits, SIZE_T *size_ptr,
|
||||
extern NTSTATUS virtual_alloc_aligned( PVOID *ret, unsigned short zero_bits_64, SIZE_T *size_ptr,
|
||||
ULONG type, ULONG protect, ULONG alignment ) DECLSPEC_HIDDEN;
|
||||
+extern NTSTATUS read_nt_symlink( HANDLE root, UNICODE_STRING *name, WCHAR *target, size_t length ) DECLSPEC_HIDDEN;
|
||||
extern NTSTATUS virtual_map_section( HANDLE handle, PVOID *addr_ptr, ULONG zero_bits, SIZE_T commit_size,
|
||||
const LARGE_INTEGER *offset_ptr, SIZE_T *size_ptr, ULONG protect,
|
||||
pe_image_info_t *image_info ) DECLSPEC_HIDDEN;
|
||||
extern NTSTATUS virtual_map_section( HANDLE handle, PVOID *addr_ptr, unsigned short zero_bits_64, SIZE_T commit_size,
|
||||
const LARGE_INTEGER *offset_ptr, SIZE_T *size_ptr, ULONG alloc_type,
|
||||
ULONG protect, pe_image_info_t *image_info ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
|
||||
index ff0df9de70f..0641e1310e1 100644
|
||||
index 966b2a4c386..26963020c1b 100644
|
||||
--- a/dlls/ntdll/virtual.c
|
||||
+++ b/dlls/ntdll/virtual.c
|
||||
@@ -56,6 +56,7 @@
|
||||
@ -56,7 +56,7 @@ index ff0df9de70f..0641e1310e1 100644
|
||||
static struct file_view *view_block_start, *view_block_end, *next_free_view;
|
||||
static const size_t view_block_size = 0x100000;
|
||||
static void *preload_reserve_start;
|
||||
@@ -2999,12 +3002,15 @@ static NTSTATUS get_section_name( HANDLE process, LPCVOID addr,
|
||||
@@ -3075,12 +3078,15 @@ static NTSTATUS get_section_name( HANDLE process, LPCVOID addr,
|
||||
MEMORY_SECTION_NAME *info,
|
||||
SIZE_T len, SIZE_T *res_len )
|
||||
{
|
||||
@ -73,7 +73,7 @@ index ff0df9de70f..0641e1310e1 100644
|
||||
|
||||
if (!addr || !info || !res_len) return STATUS_INVALID_PARAMETER;
|
||||
|
||||
@@ -3063,14 +3069,34 @@ static NTSTATUS get_section_name( HANDLE process, LPCVOID addr,
|
||||
@@ -3139,14 +3145,34 @@ static NTSTATUS get_section_name( HANDLE process, LPCVOID addr,
|
||||
}
|
||||
|
||||
found:
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0621f527e51061a9693e7e1fdcc584afe8a8a5eb Mon Sep 17 00:00:00 2001
|
||||
From d5665101d6779856aedd2f354021a303a2be21d9 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Wesie <awesie@gmail.com>
|
||||
Date: Fri, 27 Jul 2018 01:22:59 -0500
|
||||
Subject: [PATCH] ntdll: Refactor RtlCreateUserThread into NtCreateThreadEx.
|
||||
@ -7,15 +7,15 @@ League of Legends hooks NtCreateThread or NtCreateThreadEx (depending on the
|
||||
reported version), and expects it to be called whenever a thread is created.
|
||||
---
|
||||
dlls/ntdll/ntdll.spec | 2 +-
|
||||
dlls/ntdll/thread.c | 192 ++++++++++++++++++++++++++++++++++--------
|
||||
dlls/ntdll/thread.c | 194 ++++++++++++++++++++++++++++++++++--------
|
||||
include/winternl.h | 25 ++++++
|
||||
3 files changed, 184 insertions(+), 35 deletions(-)
|
||||
3 files changed, 185 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index 675e2a536b3..26b0d85626b 100644
|
||||
index 5d60528b71d..164effb78f3 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -155,7 +155,7 @@
|
||||
@@ -175,7 +175,7 @@
|
||||
@ stdcall NtCreateSection(ptr long ptr ptr long long long)
|
||||
@ stdcall NtCreateSemaphore(ptr long ptr long long)
|
||||
@ stdcall NtCreateSymbolicLinkObject(ptr long ptr ptr)
|
||||
@ -25,10 +25,10 @@ index 675e2a536b3..26b0d85626b 100644
|
||||
@ stdcall NtCreateTimer(ptr long ptr long)
|
||||
@ stub NtCreateToken
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 8af84b06b5c..aaa2cc1022b 100644
|
||||
index 6552c486824..db291369c08 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -542,34 +542,18 @@ static void start_thread( struct startup_info *info )
|
||||
@@ -543,34 +543,18 @@ static void start_thread( struct startup_info *info )
|
||||
/***********************************************************************
|
||||
* NtCreateThreadEx (NTDLL.@)
|
||||
*/
|
||||
@ -68,7 +68,7 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
HANDLE handle = 0, actctx = 0;
|
||||
TEB *teb = NULL;
|
||||
DWORD tid = 0;
|
||||
@@ -580,6 +564,33 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
@@ -581,6 +565,33 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
struct object_attributes *objattr = NULL;
|
||||
INITIAL_TEB stack;
|
||||
|
||||
@ -102,7 +102,7 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
if (process != NtCurrentProcess())
|
||||
{
|
||||
apc_call_t call;
|
||||
@@ -605,12 +616,7 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
@@ -606,12 +617,7 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
return result.create_thread.status;
|
||||
}
|
||||
|
||||
@ -116,7 +116,7 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
|
||||
if (server_pipe( request_pipe ) == -1)
|
||||
{
|
||||
@@ -622,7 +628,7 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
@@ -623,7 +629,7 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
SERVER_START_REQ( new_thread )
|
||||
{
|
||||
req->process = wine_server_obj_handle( process );
|
||||
@ -125,7 +125,7 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
req->suspend = suspended;
|
||||
req->request_fd = request_pipe[0];
|
||||
wine_server_add_data( req, objattr, len );
|
||||
@@ -684,19 +690,19 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
@@ -685,20 +691,20 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
thread_data->wait_fd[1] = -1;
|
||||
thread_data->start_stack = (char *)teb->Tib.StackBase;
|
||||
|
||||
@ -134,7 +134,9 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
+ pthread_attr_init( &pthread_attr );
|
||||
+ pthread_attr_setstack( &pthread_attr, teb->DeallocationStack,
|
||||
(char *)teb->Tib.StackBase + extra_stack - (char *)teb->DeallocationStack );
|
||||
- pthread_attr_setguardsize( &attr, 0 );
|
||||
- pthread_attr_setscope( &attr, PTHREAD_SCOPE_SYSTEM ); /* force creating a kernel thread */
|
||||
+ pthread_attr_setguardsize( &pthread_attr, 0 );
|
||||
+ pthread_attr_setscope( &pthread_attr, PTHREAD_SCOPE_SYSTEM ); /* force creating a kernel thread */
|
||||
interlocked_xchg_add( &nb_threads, 1 );
|
||||
- if (pthread_create( &pthread_id, &attr, (void * (*)(void *))start_thread, info ))
|
||||
@ -151,7 +153,7 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
pthread_sigmask( SIG_SETMASK, &sigset, NULL );
|
||||
|
||||
if (id) id->UniqueThread = ULongToHandle(tid);
|
||||
@@ -713,6 +719,124 @@ error:
|
||||
@@ -715,6 +721,124 @@ error:
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -277,10 +279,10 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
/******************************************************************************
|
||||
* RtlGetNtGlobalFlags (NTDLL.@)
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index fbcb66ee2af..ba18fdea3a1 100644
|
||||
index c6dbc5931b2..d1937b9f06b 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -2180,6 +2180,31 @@ typedef enum _SYSDBG_COMMAND {
|
||||
@@ -2197,6 +2197,31 @@ typedef enum _SYSDBG_COMMAND {
|
||||
SysDbgWriteBusData
|
||||
} SYSDBG_COMMAND, *PSYSDBG_COMMAND;
|
||||
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "cf5ccf29a9ae341cebe03634b3c4220c0c59ea53"
|
||||
echo "4c6aa8b2fa1678c39aa5a89d9b26cfc4002e744e"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -2967,14 +2967,12 @@ fi
|
||||
# | * [#44958] dbgeng: Support IDebugClient7 interface.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/dbgeng/dbgeng.c, include/dbgeng.h
|
||||
# | * dlls/dbgeng/dbgeng.c
|
||||
# |
|
||||
if test "$enable_dbgeng_IDebugClient7" -eq 1; then
|
||||
patch_apply dbgeng-IDebugClient7/0001-include-Add-IDebugClient2-7-interfaces.patch
|
||||
patch_apply dbgeng-IDebugClient7/0002-dbgeng-Support-interfaces-IDebugClient2-4.patch
|
||||
patch_apply dbgeng-IDebugClient7/0003-dbgeng-Support-IDebugClient5-7-interfaces.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "include: Add IDebugClient2-7 interfaces.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "dbgeng: Support interfaces IDebugClient2-4.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "dbgeng: Support IDebugClient5-7 interfaces.", 1 },';
|
||||
) >> "$patchlist"
|
||||
|
@ -1,14 +1,14 @@
|
||||
From c86938426ec3acafea2faa8d9ad24a065f44fbd1 Mon Sep 17 00:00:00 2001
|
||||
From 8cfc4d7d949ff0f48e9fc9b64c953c57b7d91ca2 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Thu, 7 Jan 2016 17:38:17 +0800
|
||||
Subject: widl: Add support for structures.
|
||||
Subject: [PATCH] widl: Add support for structures.
|
||||
|
||||
---
|
||||
tools/widl/write_sltg.c | 584 +++++++++++++++++++++++++++++++++++++---
|
||||
1 file changed, 551 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index c4ddaed9..f71d3d5b 100644
|
||||
index c4ddaed9441..a03e9688bd2 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -1,7 +1,7 @@
|
||||
@ -293,8 +293,7 @@ index c4ddaed9..f71d3d5b 100644
|
||||
|
||||
-static void add_structure_typeinfo(struct sltg_typelib *typelib, type_t *type)
|
||||
+static const char *add_typeinfo_block(struct sltg_typelib *typelib, const type_t *type)
|
||||
{
|
||||
- error("add_structure_typeinfo: %s not implemented\n", type->name);
|
||||
+{
|
||||
+ const char *index_name, *other_name;
|
||||
+ void *block;
|
||||
+ short *p;
|
||||
@ -369,7 +368,8 @@ index c4ddaed9..f71d3d5b 100644
|
||||
+}
|
||||
+
|
||||
+static int get_element_size(type_t *type)
|
||||
+{
|
||||
{
|
||||
- error("add_structure_typeinfo: %s not implemented\n", type->name);
|
||||
+ int vt = get_type_vt(type);
|
||||
+
|
||||
+ switch (vt)
|
||||
@ -453,7 +453,7 @@ index c4ddaed9..f71d3d5b 100644
|
||||
+ num_dims++;
|
||||
+ elements *= type_array_get_dim(atype);
|
||||
+
|
||||
+ atype = type_array_get_element(atype);
|
||||
+ atype = type_array_get_element_type(atype);
|
||||
+ }
|
||||
+
|
||||
+ chat("write_var_desc: VT_CARRAY: %d dimensions, %d elements\n", num_dims, elements);
|
||||
@ -465,7 +465,7 @@ index c4ddaed9..f71d3d5b 100644
|
||||
+
|
||||
+ array->cDims = num_dims;
|
||||
+ array->fFeatures = 0x0004; /* FADF_EMBEDDED */
|
||||
+ array->cbElements = get_element_size(type_array_get_element(type));
|
||||
+ array->cbElements = get_element_size(type_array_get_element_type(type));
|
||||
+ array->cLocks = 0;
|
||||
+ array->pvData = NULL;
|
||||
+
|
||||
@ -478,7 +478,7 @@ index c4ddaed9..f71d3d5b 100644
|
||||
+ bound[1] = 0;
|
||||
+ bound += 2;
|
||||
+
|
||||
+ atype = type_array_get_element(atype);
|
||||
+ atype = type_array_get_element_type(atype);
|
||||
+ }
|
||||
+
|
||||
+ append_data(data, array, size);
|
||||
@ -499,7 +499,7 @@ index c4ddaed9..f71d3d5b 100644
|
||||
+
|
||||
+ if (vt == VT_PTR)
|
||||
+ {
|
||||
+ type_t *ref = is_ptr(type) ? type_pointer_get_ref(type) : type_array_get_element(type);
|
||||
+ type_t *ref = is_ptr(type) ? type_pointer_get_ref_type(type) : type_array_get_element_type(type);
|
||||
+
|
||||
+ if (is_ptr(ref))
|
||||
+ {
|
||||
@ -553,13 +553,13 @@ index c4ddaed9..f71d3d5b 100644
|
||||
+ LIST_FOR_EACH_ENTRY(var, type_struct_get_fields(type), var_t, entry)
|
||||
+ {
|
||||
+ chat("add_structure_typeinfo: var %p, name %s, type %p\n",
|
||||
+ var, var->name, var->type);
|
||||
+ var, var->name, var->declspec.type);
|
||||
+
|
||||
+ init_sltg_data(&var_data[i]);
|
||||
+
|
||||
+ var_data_size += sizeof(struct sltg_variable);
|
||||
+
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, var_data_size);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, var_data_size);
|
||||
+ dump_var_desc(var_data[i].data, var_data[i].size);
|
||||
+
|
||||
+ if (var_data[i].size > sizeof(short))
|
||||
@ -759,5 +759,5 @@ index c4ddaed9..f71d3d5b 100644
|
||||
sltg.n_file_blocks = 0;
|
||||
sltg.first_block = 1;
|
||||
--
|
||||
2.19.1
|
||||
2.17.1
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 4156b4077001ff084ee825c592e1f0753218e357 Mon Sep 17 00:00:00 2001
|
||||
From 58a9418411eb13530349887df93b2c96febbd23f Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Sat, 9 Jan 2016 15:49:46 +0800
|
||||
Subject: widl: More accurately report variable descriptions data size.
|
||||
Subject: [PATCH] widl: More accurately report variable descriptions data size.
|
||||
|
||||
---
|
||||
tools/widl/write_sltg.c | 20 ++++++++++++--------
|
||||
1 file changed, 12 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index 1ba921d..20dd05d 100644
|
||||
index 216d688e69d..0d27898c7c0 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -678,14 +678,15 @@ static void add_structure_typeinfo(struct sltg_typelib *typelib, const type_t *t
|
||||
@ -18,15 +18,15 @@ index 1ba921d..20dd05d 100644
|
||||
+ short base_offset;
|
||||
+
|
||||
chat("add_structure_typeinfo: var %p, name %s, type %p\n",
|
||||
var, var->name, var->type);
|
||||
var, var->name, var->declspec.type);
|
||||
|
||||
init_sltg_data(&var_data[i]);
|
||||
|
||||
- var_data_size += sizeof(struct sltg_variable);
|
||||
-
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, var_data_size);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, var_data_size);
|
||||
+ base_offset = var_data_size + (i + 1) * sizeof(struct sltg_variable);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, base_offset);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, base_offset);
|
||||
dump_var_desc(var_data[i].data, var_data[i].size);
|
||||
|
||||
if (var_data[i].size > sizeof(short))
|
||||
@ -73,5 +73,5 @@ index 1ba921d..20dd05d 100644
|
||||
|
||||
add_block(typelib, data.data, data.size, index_name);
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From d1aa5ddca997bc92aae53b9d009debdd38c833f2 Mon Sep 17 00:00:00 2001
|
||||
From 91a17391506e9be6612af90aee35d33206037b10 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Sat, 9 Jan 2016 16:22:15 +0800
|
||||
Subject: widl: Calculate size of instance for structures.
|
||||
Subject: [PATCH] widl: Calculate size of instance for structures.
|
||||
|
||||
---
|
||||
tools/widl/write_sltg.c | 25 +++++++++++++++++--------
|
||||
1 file changed, 17 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index 20dd05d..05cda99 100644
|
||||
index 0d27898c7c0..bf8fe6d9ac0 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -546,7 +546,7 @@ static int get_element_size(type_t *type)
|
||||
@ -33,7 +33,7 @@ index 20dd05d..05cda99 100644
|
||||
|
||||
array->cDims = num_dims;
|
||||
array->fFeatures = 0x0004; /* FADF_EMBEDDED */
|
||||
- array->cbElements = get_element_size(type_array_get_element(type));
|
||||
- array->cbElements = get_element_size(type_array_get_element_type(type));
|
||||
+ array->cbElements = get_element_size(atype);
|
||||
array->cLocks = 0;
|
||||
array->pvData = NULL;
|
||||
@ -50,7 +50,7 @@ index 20dd05d..05cda99 100644
|
||||
bound[1] = 0;
|
||||
bound += 2;
|
||||
|
||||
atype = type_array_get_element(atype);
|
||||
atype = type_array_get_element_type(atype);
|
||||
}
|
||||
|
||||
+ *size_instance += array_size;
|
||||
@ -93,8 +93,8 @@ index 20dd05d..05cda99 100644
|
||||
init_sltg_data(&var_data[i]);
|
||||
|
||||
base_offset = var_data_size + (i + 1) * sizeof(struct sltg_variable);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, base_offset);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, base_offset, &size_instance);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, base_offset);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, base_offset, &size_instance);
|
||||
dump_var_desc(var_data[i].data, var_data[i].size);
|
||||
|
||||
if (var_data[i].size > sizeof(short))
|
||||
@ -108,5 +108,5 @@ index 20dd05d..05cda99 100644
|
||||
tail.res24 = -1;
|
||||
tail.res26 = -1;
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
@ -1,14 +1,15 @@
|
||||
From 49aa53fe28df7d9e93c93bfa6fa0304134153a7c Mon Sep 17 00:00:00 2001
|
||||
From b49b4983e2fb13cd4bf81626e19b6c38277f596d Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Wed, 13 Jan 2016 15:58:50 +0800
|
||||
Subject: widl: Add support for VT_USERDEFINED to SLTG typelib generator.
|
||||
Subject: [PATCH] widl: Add support for VT_USERDEFINED to SLTG typelib
|
||||
generator.
|
||||
|
||||
---
|
||||
tools/widl/write_sltg.c | 211 ++++++++++++++++++++++++++++++++++++++++++++----
|
||||
tools/widl/write_sltg.c | 211 +++++++++++++++++++++++++++++++++++++---
|
||||
1 file changed, 196 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index 08bb25e..dbe75c6 100644
|
||||
index 7421899ed56..bffd94569a8 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -83,6 +83,12 @@ struct sltg_typelib
|
||||
@ -300,8 +301,8 @@ index 08bb25e..dbe75c6 100644
|
||||
init_sltg_data(&var_data[i]);
|
||||
|
||||
base_offset = var_data_size + (i + 1) * sizeof(struct sltg_variable);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, base_offset, &size_instance);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, base_offset, &size_instance, &hrefmap);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, base_offset, &size_instance);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, base_offset, &size_instance, &hrefmap);
|
||||
dump_var_desc(var_data[i].data, var_data[i].size);
|
||||
|
||||
if (var_data[i].size > sizeof(short))
|
||||
@ -318,5 +319,5 @@ index 08bb25e..dbe75c6 100644
|
||||
|
||||
member.res00 = 0x0001;
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
From e35374deb70ca2dd7e26df954b57e61dd21668a4 Mon Sep 17 00:00:00 2001
|
||||
From 5d75156efed85e3f124f3b48511f0fb41fac6387 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Thu, 14 Jan 2016 15:16:37 +0800
|
||||
Subject: widl: Add support for recursive type references to SLTG typelib
|
||||
generator.
|
||||
Subject: [PATCH] widl: Add support for recursive type references to SLTG
|
||||
typelib generator.
|
||||
|
||||
---
|
||||
tools/widl/write_sltg.c | 66 ++++++++++++++++++++++++++++++++++---------------
|
||||
tools/widl/write_sltg.c | 66 ++++++++++++++++++++++++++++-------------
|
||||
1 file changed, 46 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index b417dc2..4d9ee01 100644
|
||||
index 7a6967c7f39..2ba5a3c25b0 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -203,6 +203,12 @@ struct sltg_hrefinfo
|
||||
@ -61,10 +61,11 @@ index b417dc2..4d9ee01 100644
|
||||
return desc_offset;
|
||||
}
|
||||
|
||||
@@ -863,6 +864,33 @@ static short write_var_desc(struct sltg_data *data, type_t *type, short flags, s
|
||||
@@ -862,6 +863,33 @@ static short write_var_desc(struct sltg_data *data, type_t *type, short flags, s
|
||||
chat("write_var_desc: VT_USERDEFINED, type %p, name %s, real type %d, href %d\n",
|
||||
type, type->name, type_get_type(type), type->typelib_idx);
|
||||
|
||||
if (type->typelib_idx == -1)
|
||||
+ if (type->typelib_idx == -1)
|
||||
+ {
|
||||
+ chat("write_var_desc: trying to ref not added type\n");
|
||||
+
|
||||
@ -91,10 +92,9 @@ index b417dc2..4d9ee01 100644
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (type->typelib_idx == -1)
|
||||
if (type->typelib_idx == -1)
|
||||
error("write_var_desc: trying to ref not added type\n");
|
||||
|
||||
href = local_href(hrefmap, type->typelib_idx);
|
||||
@@ -888,6 +916,8 @@ static void add_structure_typeinfo(struct sltg_typelib *typelib, type_t *type)
|
||||
int member_offset, var_count = 0, var_data_size = 0, size_instance = 0;
|
||||
short *type_desc_offset = NULL;
|
||||
@ -118,15 +118,15 @@ index b417dc2..4d9ee01 100644
|
||||
short base_offset;
|
||||
|
||||
- chat("add_structure_typeinfo: var %p, name %s, type %p\n",
|
||||
- var, var->name, var->type);
|
||||
- var, var->name, var->declspec.type);
|
||||
+ chat("add_structure_typeinfo: var %p (%s), type %p (%s)\n",
|
||||
+ var, var->name, var->type, var->type->name);
|
||||
+ var, var->name, var->declspec.type, var->declspec.type->name);
|
||||
|
||||
init_sltg_data(&var_data[i]);
|
||||
|
||||
base_offset = var_data_size + (i + 1) * sizeof(struct sltg_variable);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, base_offset, &size_instance, &hrefmap);
|
||||
+ type_desc_offset[i] = write_var_desc(typelib, &var_data[i], var->type, 0, base_offset, &size_instance, &hrefmap);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, base_offset, &size_instance, &hrefmap);
|
||||
+ type_desc_offset[i] = write_var_desc(typelib, &var_data[i], var->declspec.type, 0, base_offset, &size_instance, &hrefmap);
|
||||
dump_var_desc(var_data[i].data, var_data[i].size);
|
||||
|
||||
if (var_data[i].size > sizeof(short))
|
||||
@ -155,5 +155,5 @@ index b417dc2..4d9ee01 100644
|
||||
break;
|
||||
}
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 28b03b8cabf03e68c6a11822e66518b7b1e578c4 Mon Sep 17 00:00:00 2001
|
||||
From 9a53aa57ea3bbe2bada3b79f55c165d6d97c34b6 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Tue, 19 Jan 2016 17:01:01 +0800
|
||||
Subject: widl: Add support for interfaces to SLTG typelib generator.
|
||||
Subject: [PATCH] widl: Add support for interfaces to SLTG typelib generator.
|
||||
|
||||
---
|
||||
tools/widl/write_sltg.c | 431 ++++++++++++++++++++++++++++++++++++++++++++++--
|
||||
tools/widl/write_sltg.c | 431 ++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 417 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index 4d9ee01..556816f 100644
|
||||
index 2ba5a3c25b0..38a080a319f 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -151,8 +151,8 @@ struct sltg_tail
|
||||
@ -88,7 +88,7 @@ index 4d9ee01..556816f 100644
|
||||
tail->tdescalias_vt = -1;
|
||||
tail->res16 = -1;
|
||||
@@ -813,8 +832,11 @@ static short write_var_desc(struct sltg_typelib *typelib, struct sltg_data *data
|
||||
atype = type_array_get_element(atype);
|
||||
atype = type_array_get_element_type(atype);
|
||||
}
|
||||
|
||||
- *size_instance += array_size;
|
||||
@ -251,7 +251,7 @@ index 4d9ee01..556816f 100644
|
||||
+ old_size = data->size;
|
||||
+
|
||||
+ init_sltg_data(&ret_data);
|
||||
+ ret_desc_offset = write_var_desc(typelib, &ret_data, type_function_get_rettype(func->type),
|
||||
+ ret_desc_offset = write_var_desc(typelib, &ret_data, type_function_get_rettype(func->declspec.type),
|
||||
+ 0, base_offset, NULL, hrefmap);
|
||||
+ dump_var_desc(ret_data.data, ret_data.size);
|
||||
+
|
||||
@ -264,27 +264,27 @@ index 4d9ee01..556816f 100644
|
||||
+ arg_offset += ret_data.size;
|
||||
+ }
|
||||
+
|
||||
+ if (type_get_function_args(func->type))
|
||||
+ if (type_get_function_args(func->declspec.type))
|
||||
+ {
|
||||
+ int i = 0;
|
||||
+
|
||||
+ arg_count = list_count(type_get_function_args(func->type));
|
||||
+ arg_count = list_count(type_get_function_args(func->declspec.type));
|
||||
+
|
||||
+ arg_data = xmalloc(arg_count * sizeof(*arg_data));
|
||||
+ arg_desc_offset = xmalloc(arg_count * sizeof(*arg_desc_offset));
|
||||
+
|
||||
+ arg_offset += arg_count * 2 * sizeof(short);
|
||||
+
|
||||
+ LIST_FOR_EACH_ENTRY(arg, type_get_function_args(func->type), const var_t, entry)
|
||||
+ LIST_FOR_EACH_ENTRY(arg, type_get_function_args(func->declspec.type), const var_t, entry)
|
||||
+ {
|
||||
+ const attr_t *attr;
|
||||
+
|
||||
+ chat("add_func_desc: arg[%d] %p (%s), type %p (%s)\n",
|
||||
+ i, arg, arg->name, arg->type, arg->type->name);
|
||||
+ i, arg, arg->name, arg->declspec.type, arg->declspec.type->name);
|
||||
+
|
||||
+ init_sltg_data(&arg_data[i]);
|
||||
+
|
||||
+ arg_desc_offset[i] = write_var_desc(typelib, &arg_data[i], arg->type, 0, arg_offset, NULL, hrefmap);
|
||||
+ arg_desc_offset[i] = write_var_desc(typelib, &arg_data[i], arg->declspec.type, 0, arg_offset, NULL, hrefmap);
|
||||
+ dump_var_desc(arg_data[i].data, arg_data[i].size);
|
||||
+
|
||||
+ if (arg_data[i].size > sizeof(short))
|
||||
@ -360,7 +360,7 @@ index 4d9ee01..556816f 100644
|
||||
+
|
||||
+ arg_offset += arg_count * 2 * sizeof(short);
|
||||
+
|
||||
+ LIST_FOR_EACH_ENTRY(arg, type_get_function_args(func->type), const var_t, entry)
|
||||
+ LIST_FOR_EACH_ENTRY(arg, type_get_function_args(func->declspec.type), const var_t, entry)
|
||||
+ {
|
||||
+ short name, type_offset;
|
||||
+
|
||||
@ -515,5 +515,5 @@ index 4d9ee01..556816f 100644
|
||||
{
|
||||
error("add_enum_typeinfo: %s not implemented\n", type->name);
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
@ -1,17 +1,17 @@
|
||||
From 95352b40a973bc72e3cd32e1a02b6842f15deea9 Mon Sep 17 00:00:00 2001
|
||||
From b8438563c713d08601c86895f12e8a40e3f2f54d Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Mon, 25 Jan 2016 15:26:12 +0800
|
||||
Subject: widl: Add support for function parameter flags to SLTG typelib
|
||||
generator.
|
||||
Subject: [PATCH] widl: Add support for function parameter flags to SLTG
|
||||
typelib generator.
|
||||
|
||||
This makes stdole32.tlb generated by widl have proper [in,out,retval]
|
||||
parameter flags.
|
||||
---
|
||||
tools/widl/write_sltg.c | 70 ++++++++++++++++++++++++++++++++++++++++++-------
|
||||
1 file changed, 60 insertions(+), 10 deletions(-)
|
||||
tools/widl/write_sltg.c | 71 +++++++++++++++++++++++++++++++++++------
|
||||
1 file changed, 61 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index 2ec1770..3cb137c 100644
|
||||
index 68d1241d61c..b122e0dc389 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -794,8 +794,8 @@ static int local_href(struct sltg_hrefmap *hrefmap, int typelib_href)
|
||||
@ -55,8 +55,8 @@ index 2ec1770..3cb137c 100644
|
||||
init_sltg_data(&var_data[i]);
|
||||
|
||||
base_offset = var_data_size + (i + 1) * sizeof(struct sltg_variable);
|
||||
- type_desc_offset[i] = write_var_desc(typelib, &var_data[i], var->type, 0, base_offset, &size_instance, &hrefmap);
|
||||
+ type_desc_offset[i] = write_var_desc(typelib, &var_data[i], var->type, 0, 0,
|
||||
- type_desc_offset[i] = write_var_desc(typelib, &var_data[i], var->declspec.type, 0, base_offset, &size_instance, &hrefmap);
|
||||
+ type_desc_offset[i] = write_var_desc(typelib, &var_data[i], var->declspec.type, 0, 0,
|
||||
+ base_offset, &size_instance, &hrefmap);
|
||||
dump_var_desc(var_data[i].data, var_data[i].size);
|
||||
|
||||
@ -117,29 +117,30 @@ index 2ec1770..3cb137c 100644
|
||||
@@ -1194,7 +1242,7 @@ static int add_func_desc(struct sltg_typelib *typelib, struct sltg_data *data, v
|
||||
|
||||
init_sltg_data(&ret_data);
|
||||
ret_desc_offset = write_var_desc(typelib, &ret_data, type_function_get_rettype(func->type),
|
||||
ret_desc_offset = write_var_desc(typelib, &ret_data, type_function_get_rettype(func->declspec.type),
|
||||
- 0, base_offset, NULL, hrefmap);
|
||||
+ 0, 0, base_offset, NULL, hrefmap);
|
||||
dump_var_desc(ret_data.data, ret_data.size);
|
||||
|
||||
arg_data_size = 0;
|
||||
@@ -1220,13 +1268,15 @@ static int add_func_desc(struct sltg_typelib *typelib, struct sltg_data *data, v
|
||||
LIST_FOR_EACH_ENTRY(arg, type_get_function_args(func->type), const var_t, entry)
|
||||
@@ -1220,13 +1268,16 @@ static int add_func_desc(struct sltg_typelib *typelib, struct sltg_data *data, v
|
||||
LIST_FOR_EACH_ENTRY(arg, type_get_function_args(func->declspec.type), const var_t, entry)
|
||||
{
|
||||
const attr_t *attr;
|
||||
+ short param_flags = get_param_flags(arg);
|
||||
|
||||
chat("add_func_desc: arg[%d] %p (%s), type %p (%s)\n",
|
||||
i, arg, arg->name, arg->type, arg->type->name);
|
||||
i, arg, arg->name, arg->declspec.type, arg->declspec.type->name);
|
||||
|
||||
init_sltg_data(&arg_data[i]);
|
||||
|
||||
- arg_desc_offset[i] = write_var_desc(typelib, &arg_data[i], arg->type, 0, arg_offset, NULL, hrefmap);
|
||||
+ arg_desc_offset[i] = write_var_desc(typelib, &arg_data[i], arg->type, param_flags, 0,
|
||||
- arg_desc_offset[i] = write_var_desc(typelib, &arg_data[i], arg->declspec.type, 0, arg_offset, NULL, hrefmap);
|
||||
+
|
||||
+ arg_desc_offset[i] = write_var_desc(typelib, &arg_data[i], arg->declspec.type, param_flags, 0,
|
||||
+ arg_offset, NULL, hrefmap);
|
||||
dump_var_desc(arg_data[i].data, arg_data[i].size);
|
||||
|
||||
if (arg_data[i].size > sizeof(short))
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 58c943a9d3ffc3bd9feae35682710d408448d78a Mon Sep 17 00:00:00 2001
|
||||
From 01a8461f482a7383463e2953ec4088bc6805e817 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 25 May 2015 06:07:50 +0200
|
||||
Subject: [PATCH] wineboot: Assign a drive serial number during prefix
|
||||
@ -9,7 +9,7 @@ Subject: [PATCH] wineboot: Assign a drive serial number during prefix
|
||||
1 file changed, 32 insertions(+)
|
||||
|
||||
diff --git a/programs/wineboot/wineboot.c b/programs/wineboot/wineboot.c
|
||||
index 5190dcc701..6e54bff187 100644
|
||||
index 75c1a6a28b..6473820592 100644
|
||||
--- a/programs/wineboot/wineboot.c
|
||||
+++ b/programs/wineboot/wineboot.c
|
||||
@@ -70,6 +70,7 @@
|
||||
@ -20,9 +20,9 @@ index 5190dcc701..6e54bff187 100644
|
||||
#include <newdev.h>
|
||||
#include "resource.h"
|
||||
|
||||
@@ -293,6 +294,36 @@ static void get_namestring( WCHAR *buf )
|
||||
for (i = lstrlenW(buf) - 1; i >= 0 && buf[i] == ' '; i--) buf[i] = 0;
|
||||
}
|
||||
@@ -298,6 +299,36 @@ static void get_namestring( WCHAR *buf ) { }
|
||||
|
||||
#endif /* __i386__ || __x86_64__ */
|
||||
|
||||
+/* set a serial number for the disk containing windows */
|
||||
+static void create_disk_serial_number(void)
|
||||
@ -57,7 +57,7 @@ index 5190dcc701..6e54bff187 100644
|
||||
/* create the volatile hardware registry keys */
|
||||
static void create_hardware_registry_keys(void)
|
||||
{
|
||||
@@ -1420,6 +1451,7 @@ int __cdecl main( int argc, char *argv[] )
|
||||
@@ -1425,6 +1456,7 @@ int __cdecl main( int argc, char *argv[] )
|
||||
|
||||
ResetEvent( event ); /* in case this is a restart */
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user