diff --git a/patches/ntdll-HashLinks/0002-ntdll-Use-HashLinks-when-searching-for-a-dll-using-t.patch b/patches/ntdll-HashLinks/0002-ntdll-Use-HashLinks-when-searching-for-a-dll-using-t.patch index 8589df2e..9120c6b4 100644 --- a/patches/ntdll-HashLinks/0002-ntdll-Use-HashLinks-when-searching-for-a-dll-using-t.patch +++ b/patches/ntdll-HashLinks/0002-ntdll-Use-HashLinks-when-searching-for-a-dll-using-t.patch @@ -1,4 +1,4 @@ -From bcf36a9100a2452469c0058798073a72e1dba8f9 Mon Sep 17 00:00:00 2001 +From 6e41aeac02672253805dbadf694965cd1fb925bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Mon, 3 Apr 2017 05:56:19 +0200 Subject: ntdll: Use HashLinks when searching for a dll using the basename. @@ -8,11 +8,11 @@ Subject: ntdll: Use HashLinks when searching for a dll using the basename. 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c -index d9b6b7d1c7..7f0d2e7375 100644 +index 289c15a7be3..88fd86ce2be 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c -@@ -509,10 +509,10 @@ static WINE_MODREF *find_basename_module( LPCWSTR name ) - if (cached_modref && !strcmpiW( name, cached_modref->ldr.BaseDllName.Buffer )) +@@ -541,10 +541,10 @@ static WINE_MODREF *find_basename_module( LPCWSTR name ) + if (cached_modref && RtlEqualUnicodeString( &name_str, &cached_modref->ldr.BaseDllName, TRUE )) return cached_modref; - mark = &NtCurrentTeb()->Peb->LdrData->InLoadOrderModuleList; @@ -21,9 +21,9 @@ index d9b6b7d1c7..7f0d2e7375 100644 { - LDR_MODULE *mod = CONTAINING_RECORD(entry, LDR_MODULE, InLoadOrderModuleList); + LDR_MODULE *mod = CONTAINING_RECORD(entry, LDR_MODULE, HashLinks); - if (!strcmpiW( name, mod->BaseDllName.Buffer )) + if (RtlEqualUnicodeString( &name_str, &mod->BaseDllName, TRUE )) { cached_modref = CONTAINING_RECORD(mod, WINE_MODREF, ldr); -- -2.11.0 +2.25.1 diff --git a/patches/ntdll-Pipe_SpecialCharacters/0001-ntdll-Allow-special-characters-in-pipe-names.patch b/patches/ntdll-Pipe_SpecialCharacters/0001-ntdll-Allow-special-characters-in-pipe-names.patch index d285b771..db8af3f4 100644 --- a/patches/ntdll-Pipe_SpecialCharacters/0001-ntdll-Allow-special-characters-in-pipe-names.patch +++ b/patches/ntdll-Pipe_SpecialCharacters/0001-ntdll-Allow-special-characters-in-pipe-names.patch @@ -1,4 +1,4 @@ -From 6c7f51234dfee692fb1ecc6045dcfc8ceb0a8a81 Mon Sep 17 00:00:00 2001 +From fb9f83f9c1043dfff84c51f7223bee172c9ac40f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 27 Jul 2014 03:35:42 +0200 Subject: [PATCH] ntdll: Allow special characters in pipe names. @@ -10,7 +10,7 @@ Based on patch by Valentyn Pavliuchenko. 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c -index 20f3450c6d..fb6f1476d6 100644 +index 3c7ca06a045..453dcc80b7b 100644 --- a/dlls/kernel32/tests/pipe.c +++ b/dlls/kernel32/tests/pipe.c @@ -30,6 +30,7 @@ @@ -38,10 +38,10 @@ index 20f3450c6d..fb6f1476d6 100644 } diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c -index d6bf1354a5..0edd6c9a50 100644 +index 993a661015e..aaf7c6eeed4 100644 --- a/dlls/ntdll/directory.c +++ b/dlls/ntdll/directory.c -@@ -2756,6 +2756,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI +@@ -2747,6 +2747,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI UINT disposition, BOOLEAN check_case ) { static const WCHAR unixW[] = {'u','n','i','x'}; @@ -49,15 +49,15 @@ index d6bf1354a5..0edd6c9a50 100644 static const WCHAR invalid_charsW[] = { INVALID_NT_CHARS, 0 }; NTSTATUS status = STATUS_SUCCESS; -@@ -2766,6 +2767,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI +@@ -2757,6 +2758,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI int pos, ret, name_len, unix_len, prefix_len; - WCHAR prefix[MAX_DIR_ENTRY_LEN]; + WCHAR prefix[MAX_DIR_ENTRY_LEN + 1]; BOOLEAN is_unix = FALSE; + BOOLEAN is_pipe = FALSE; name = nameW->Buffer; name_len = nameW->Length / sizeof(WCHAR); -@@ -2799,13 +2801,17 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI +@@ -2792,13 +2794,17 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI name += prefix_len; name_len -= prefix_len; @@ -80,5 +80,5 @@ index d6bf1354a5..0edd6c9a50 100644 else { -- -2.24.1 +2.25.1 diff --git a/patches/ntdll-ThreadTime/0003-ntdll-Fill-process-kernel-and-user-time.patch b/patches/ntdll-ThreadTime/0003-ntdll-Fill-process-kernel-and-user-time.patch index fdfd98d1..2417b748 100644 --- a/patches/ntdll-ThreadTime/0003-ntdll-Fill-process-kernel-and-user-time.patch +++ b/patches/ntdll-ThreadTime/0003-ntdll-Fill-process-kernel-and-user-time.patch @@ -1,4 +1,4 @@ -From 06a283fc4f686ee3c3cf33fec4f7e7b2c3f64bc4 Mon Sep 17 00:00:00 2001 +From 097c8310c57f8f5cbcd83da40436a35703f9c1cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 9 Mar 2017 16:27:23 +0100 Subject: [PATCH] ntdll: Fill process kernel and user time. @@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Fill process kernel and user time. 3 files changed, 57 insertions(+), 37 deletions(-) diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c -index 91d504f90aa..9c138726d68 100644 +index 9ab9be4d0ce..81ed188c8bb 100644 --- a/dlls/ntdll/nt.c +++ b/dlls/ntdll/nt.c -@@ -2600,6 +2600,7 @@ NTSTATUS WINAPI NtQuerySystemInformation( +@@ -2645,6 +2645,7 @@ NTSTATUS WINAPI NtQuerySystemInformation( { SYSTEM_PROCESS_INFORMATION* spi = SystemInformation; SYSTEM_PROCESS_INFORMATION* last = NULL; @@ -21,7 +21,7 @@ index 91d504f90aa..9c138726d68 100644 HANDLE hSnap = 0; WCHAR procname[1024]; WCHAR* exename; -@@ -2637,7 +2638,7 @@ NTSTATUS WINAPI NtQuerySystemInformation( +@@ -2682,7 +2683,7 @@ NTSTATUS WINAPI NtQuerySystemInformation( if (Length >= len + procstructlen) { @@ -30,7 +30,7 @@ index 91d504f90aa..9c138726d68 100644 * vmCounters, ioCounters */ -@@ -2655,6 +2656,9 @@ NTSTATUS WINAPI NtQuerySystemInformation( +@@ -2700,6 +2701,9 @@ NTSTATUS WINAPI NtQuerySystemInformation( /* spi->ti will be set later on */ @@ -41,7 +41,7 @@ index 91d504f90aa..9c138726d68 100644 len += procstructlen; } diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h -index 70707bec042..db7f00359cf 100644 +index 20feabf56b8..9a487a0520d 100644 --- a/dlls/ntdll/ntdll_misc.h +++ b/dlls/ntdll/ntdll_misc.h @@ -270,6 +270,10 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN; @@ -53,10 +53,10 @@ index 70707bec042..db7f00359cf 100644 + LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN; + /* string functions */ - int __cdecl NTDLL_tolower( int c ); - int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 ); + int __cdecl NTDLL_tolower( int c ); + int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 ); diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c -index c6b70c557b4..029d94d8a38 100644 +index 73e530da4f5..711a8bb1898 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c @@ -153,6 +153,53 @@ static ULONG_PTR get_image_addr(void) @@ -113,7 +113,7 @@ index c6b70c557b4..029d94d8a38 100644 /*********************************************************************** * set_process_name * -@@ -975,42 +1022,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class, +@@ -963,42 +1010,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class, #ifdef __linux__ /* only /proc provides exact values for a specific thread */ if (unix_pid != -1 && unix_tid != -1) @@ -158,5 +158,5 @@ index c6b70c557b4..029d94d8a38 100644 /* get values for current process instead */ -- -2.23.0 +2.25.1 diff --git a/patches/ntdll-ThreadTime/0006-ntdll-Fill-process-virtual-memory-counters-in-NtQuer.patch b/patches/ntdll-ThreadTime/0006-ntdll-Fill-process-virtual-memory-counters-in-NtQuer.patch index ed6efef6..28a05bed 100644 --- a/patches/ntdll-ThreadTime/0006-ntdll-Fill-process-virtual-memory-counters-in-NtQuer.patch +++ b/patches/ntdll-ThreadTime/0006-ntdll-Fill-process-virtual-memory-counters-in-NtQuer.patch @@ -1,4 +1,4 @@ -From 9374f7ab587fe60c0e3436d15adf917a44e08711 Mon Sep 17 00:00:00 2001 +From 1b90b687170f3a00093fcdf0914c9f89aea3a3bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 9 Mar 2017 22:56:45 +0100 Subject: [PATCH] ntdll: Fill process virtual memory counters in @@ -13,10 +13,10 @@ FIXME: fill_VM_COUNTERS now uses a different method ... which one is better? 4 files changed, 41 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c -index 8382b61f2cb..c224fab14f9 100644 +index c2466aa5bdf..6540a353fbe 100644 --- a/dlls/ntdll/nt.c +++ b/dlls/ntdll/nt.c -@@ -2659,8 +2659,11 @@ NTSTATUS WINAPI NtQuerySystemInformation( +@@ -2704,8 +2704,11 @@ NTSTATUS WINAPI NtQuerySystemInformation( /* spi->ti will be set later on */ if (reply->unix_pid != -1) @@ -29,22 +29,22 @@ index 8382b61f2cb..c224fab14f9 100644 } len += procstructlen; diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h -index f258bb601c2..7ceb3132a7c 100644 +index 9a487a0520d..37b4f6fca14 100644 --- a/dlls/ntdll/ntdll_misc.h +++ b/dlls/ntdll/ntdll_misc.h -@@ -272,6 +272,7 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR); +@@ -273,6 +273,7 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR); /* process / thread time */ extern BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck, LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN; +extern BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi) DECLSPEC_HIDDEN; /* string functions */ - int __cdecl NTDLL_tolower( int c ); + int __cdecl NTDLL_tolower( int c ); diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c -index 9e5c0d39e78..9eecacb6728 100644 +index 0f248378842..043aebe09bf 100644 --- a/dlls/ntdll/process.c +++ b/dlls/ntdll/process.c -@@ -206,7 +206,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi) +@@ -192,7 +192,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi) static void fill_VM_COUNTERS(VM_COUNTERS* pvmi) { @@ -54,10 +54,10 @@ index 9e5c0d39e78..9eecacb6728 100644 #endif diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c -index bb18a22bad5..d010c018102 100644 +index 711a8bb1898..843df8905f5 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c -@@ -362,6 +362,42 @@ TEB *thread_init(void) +@@ -366,6 +366,42 @@ TEB *thread_init(void) return teb; } @@ -101,5 +101,5 @@ index bb18a22bad5..d010c018102 100644 /*********************************************************************** * free_thread_data -- -2.17.1 +2.25.1 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 97fe5174..d0721b50 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "9c190f8118faa2f4708e86340e3e0440f668835b" + echo "123c0543e0bb4c99fbee0a568e786405ff886a93" } # Show version information diff --git a/patches/winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch b/patches/winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch index a0b5e5b9..d7ea9542 100644 --- a/patches/winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch +++ b/patches/winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch @@ -1,22 +1,22 @@ -From c6c3f424a6ee8983f37d3ce212dfd5519a195055 Mon Sep 17 00:00:00 2001 +From 4855e0338f57525304221ba1c29c3926a9f16263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Mon, 15 May 2017 16:27:56 +0200 Subject: [PATCH] winebuild: Add stub functions in fake dlls. --- dlls/kernel32/tests/loader.c | 8 +- - dlls/ntdll/signal_i386.c | 40 +++++++ + dlls/ntdll/signal_i386.c | 34 ++++++ include/winternl.h | 2 +- tools/winebuild/build.h | 1 + tools/winebuild/spec32.c | 209 +++++++++++++++++++++++++++++++++-- tools/winebuild/utils.c | 10 +- - 6 files changed, 255 insertions(+), 15 deletions(-) + 6 files changed, 249 insertions(+), 15 deletions(-) diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c -index 4d9a26075..29cf15585 100644 +index e72dea9ca51..bf3cf00f964 100644 --- a/dlls/kernel32/tests/loader.c +++ b/dlls/kernel32/tests/loader.c -@@ -1559,9 +1559,7 @@ static void test_FakeDLL(void) +@@ -1560,9 +1560,7 @@ static void test_FakeDLL(void) ok(ptr != NULL, "MapViewOfFile failed with error %u\n", GetLastError()); dir = RtlImageDirectoryEntryToData(ptr, TRUE, IMAGE_DIRECTORY_ENTRY_EXPORT, &size); @@ -26,7 +26,7 @@ index 4d9a26075..29cf15585 100644 names = RVAToAddr(dir->AddressOfNames, ptr); ordinals = RVAToAddr(dir->AddressOfNameOrdinals, ptr); -@@ -1590,17 +1588,20 @@ todo_wine +@@ -1591,17 +1589,20 @@ todo_wine /* check position in memory */ dll_rva = (DWORD_PTR)dll_func - (DWORD_PTR)module; map_rva = funcs[ordinals[i]]; @@ -47,7 +47,7 @@ index 4d9a26075..29cf15585 100644 ok(!memcmp(map_func, dll_func, 0x20), "%s: Function content does not match!\n", func_name); if (!strcmp(func_name, "NtSetEvent")) -@@ -1614,10 +1615,11 @@ todo_wine +@@ -1615,10 +1616,11 @@ todo_wine ok(event != NULL, "CreateEvent failed with error %u\n", GetLastError()); pNtSetEvent(event, 0); ok(WaitForSingleObject(event, 0) == WAIT_OBJECT_0, "Event was not signaled\n"); @@ -61,19 +61,13 @@ index 4d9a26075..29cf15585 100644 CloseHandle(map); CloseHandle(file); diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c -index a0f8b3a2e..e55164630 100644 +index a0f8b3a2ec6..72285f0b456 100644 --- a/dlls/ntdll/signal_i386.c +++ b/dlls/ntdll/signal_i386.c -@@ -445,6 +445,45 @@ static wine_signal_handler handlers[256]; +@@ -445,6 +445,39 @@ static wine_signal_handler handlers[256]; extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void ); extern NTSTATUS WINAPI __syscall_NtGetContextThread( HANDLE handle, CONTEXT *context ); -+/* convert from straight ASCII to Unicode without depending on the current codepage */ -+static inline void ascii_to_unicode( WCHAR *dst, const char *src, size_t len ) -+{ -+ while (len--) *dst++ = (unsigned char)*src++; -+} -+ +static void* WINAPI __wine_fakedll_dispatcher( const char *module, ULONG ord ) +{ + UNICODE_STRING name; @@ -110,7 +104,7 @@ index a0f8b3a2e..e55164630 100644 enum i386_trap_code { TRAP_x86_UNKNOWN = -1, /* Unknown fault (TRAP_sig not defined) */ -@@ -2307,6 +2346,7 @@ NTSTATUS signal_alloc_thread( TEB **teb ) +@@ -2307,6 +2340,7 @@ NTSTATUS signal_alloc_thread( TEB **teb ) (*teb)->Tib.Self = &(*teb)->Tib; (*teb)->Tib.ExceptionList = (void *)~0UL; (*teb)->WOW32Reserved = __wine_syscall_dispatcher; @@ -119,7 +113,7 @@ index a0f8b3a2e..e55164630 100644 if (!(thread_data->fs = wine_ldt_alloc_fs())) { diff --git a/include/winternl.h b/include/winternl.h -index 713e71802..754bdae14 100644 +index 1fbf05b0125..f44722093ba 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -398,7 +398,7 @@ typedef struct _TEB @@ -132,7 +126,7 @@ index 713e71802..754bdae14 100644 PVOID ReservedForPerf; /* f7c/1750 */ PVOID ReservedForOle; /* f80/1758 */ diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h -index 53d4ba192..09a654de1 100644 +index e0d33036440..6712a694773 100644 --- a/tools/winebuild/build.h +++ b/tools/winebuild/build.h @@ -357,6 +357,7 @@ extern void put_word( unsigned short val ); @@ -144,7 +138,7 @@ index 53d4ba192..09a654de1 100644 extern void align_output_rva( unsigned int file_align, unsigned int rva_align ); extern size_t label_pos( const char *name ); diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c -index e67cb48cd..692db4c7e 100644 +index e67cb48cd08..692db4c7e0b 100644 --- a/tools/winebuild/spec32.c +++ b/tools/winebuild/spec32.c @@ -884,6 +884,163 @@ void output_spec32_file( DLLSPEC *spec ) @@ -400,10 +394,10 @@ index e67cb48cd..692db4c7e 100644 /* .reloc contents */ align_output_rva( file_align, section_align ); diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c -index f53e09227..0f4642d43 100644 +index b0be1b594b3..b1e34c5da18 100644 --- a/tools/winebuild/utils.c +++ b/tools/winebuild/utils.c -@@ -548,7 +548,7 @@ size_t output_buffer_size; +@@ -549,7 +549,7 @@ size_t output_buffer_size; struct label { struct list entry; @@ -412,7 +406,7 @@ index f53e09227..0f4642d43 100644 size_t pos; size_t rva; }; -@@ -566,7 +566,7 @@ struct label *get_label( const char *name ) +@@ -567,7 +567,7 @@ struct label *get_label( const char *name ) } label = xmalloc( sizeof(*label) ); @@ -421,7 +415,7 @@ index f53e09227..0f4642d43 100644 label->pos = 0; label->rva = 0; -@@ -618,6 +618,7 @@ void free_labels( void ) +@@ -619,6 +619,7 @@ void free_labels( void ) LIST_FOR_EACH_ENTRY_SAFE( label, label2, &labels, struct label, entry ) { list_remove( &label->entry ); @@ -429,7 +423,7 @@ index f53e09227..0f4642d43 100644 free( label ); } } -@@ -749,6 +750,11 @@ void put_pword( unsigned int val ) +@@ -750,6 +751,11 @@ void put_pword( unsigned int val ) else put_dword( val ); } @@ -442,5 +436,5 @@ index f53e09227..0f4642d43 100644 { size_t size = align - (output_buffer_pos % align); -- -2.25.0 +2.25.1 diff --git a/patches/winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch b/patches/winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch index e8890d03..855eb1a4 100644 --- a/patches/winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch +++ b/patches/winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch @@ -1,4 +1,4 @@ -From 162663c659f87dc2ddf09202e7988ff4d50368e7 Mon Sep 17 00:00:00 2001 +From 3d74d528e07008df764caef28993d551bfd934ba Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 3 Jan 2020 17:39:08 +0300 Subject: [PATCH] ntdll: Call NtOpenFile through syscall thunk. @@ -9,13 +9,13 @@ Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48410 dlls/ntdll/directory.c | 2 +- dlls/ntdll/loader.c | 2 +- dlls/ntdll/locale.c | 4 ++-- - dlls/ntdll/ntdll_misc.h | 9 +++++++++ + dlls/ntdll/ntdll_misc.h | 8 ++++++++ dlls/ntdll/path.c | 2 +- dlls/ntdll/process.c | 2 +- - 7 files changed, 17 insertions(+), 8 deletions(-) + 7 files changed, 16 insertions(+), 8 deletions(-) diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c -index c5134198285..0c6cda1cfaa 100644 +index d5f376f224e..cb6b9bb5097 100644 --- a/dlls/ntdll/actctx.c +++ b/dlls/ntdll/actctx.c @@ -2890,7 +2890,7 @@ static NTSTATUS open_nt_file( HANDLE *handle, UNICODE_STRING *name ) @@ -37,10 +37,10 @@ index c5134198285..0c6cda1cfaa 100644 { sxs_ai = *ai; diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c -index 95af2dde240..ba50aa1b807 100644 +index 993a661015e..7d1ed8c83ba 100644 --- a/dlls/ntdll/directory.c +++ b/dlls/ntdll/directory.c -@@ -3012,7 +3012,7 @@ NTSTATUS DIR_get_unix_cwd( char **cwd ) +@@ -3000,7 +3000,7 @@ NTSTATUS DIR_get_unix_cwd( char **cwd ) attr.SecurityDescriptor = NULL; attr.SecurityQualityOfService = NULL; @@ -50,10 +50,10 @@ index 95af2dde240..ba50aa1b807 100644 RtlFreeUnicodeString( &dirW ); if (status != STATUS_SUCCESS) goto done; diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c -index 7e8fd20e9d7..8fcd53b26ba 100644 +index 9cd2d7255ae..34e799e4e2a 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c -@@ -2375,7 +2375,7 @@ static NTSTATUS open_dll_file( UNICODE_STRING *nt_name, WINE_MODREF **pwm, +@@ -2372,7 +2372,7 @@ static NTSTATUS open_dll_file( UNICODE_STRING *nt_name, WINE_MODREF **pwm, attr.ObjectName = nt_name; attr.SecurityDescriptor = NULL; attr.SecurityQualityOfService = NULL; @@ -63,7 +63,7 @@ index 7e8fd20e9d7..8fcd53b26ba 100644 FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE ))) { diff --git a/dlls/ntdll/locale.c b/dlls/ntdll/locale.c -index afd65f3c02c..52f5d1f1d83 100644 +index 123b8985b1c..20d13407077 100644 --- a/dlls/ntdll/locale.c +++ b/dlls/ntdll/locale.c @@ -659,7 +659,7 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file ) @@ -85,14 +85,13 @@ index afd65f3c02c..52f5d1f1d83 100644 } RtlFreeUnicodeString( &valueW ); diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h -index 94e8bf54576..0d8a603c859 100644 +index 3c33d304a24..e3d3d418adf 100644 --- a/dlls/ntdll/ntdll_misc.h +++ b/dlls/ntdll/ntdll_misc.h -@@ -289,4 +289,13 @@ extern BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi) DECLSPEC_ - /* string functions */ - int __cdecl NTDLL_tolower( int c ); - int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 ); -+ +@@ -323,4 +323,12 @@ static inline void ascii_to_unicode( WCHAR *dst, const char *src, size_t len ) + while (len--) *dst++ = (unsigned char)*src++; + } + +#if defined(__i386__) || defined(__x86_64__) +NTSTATUS WINAPI __syscall_NtOpenFile( PHANDLE handle, ACCESS_MASK access, + POBJECT_ATTRIBUTES attr, PIO_STATUS_BLOCK io, @@ -103,7 +102,7 @@ index 94e8bf54576..0d8a603c859 100644 + #endif diff --git a/dlls/ntdll/path.c b/dlls/ntdll/path.c -index 610646be85b..e37c8957e24 100644 +index 65539fa0188..635eba0251f 100644 --- a/dlls/ntdll/path.c +++ b/dlls/ntdll/path.c @@ -1021,7 +1021,7 @@ NTSTATUS WINAPI RtlSetCurrentDirectory_U(const UNICODE_STRING* dir) @@ -116,7 +115,7 @@ index 610646be85b..e37c8957e24 100644 if (nts != STATUS_SUCCESS) goto out; diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c -index a1c688745a7..83d610010b3 100644 +index 5d5ea6d20d1..0d8096af91f 100644 --- a/dlls/ntdll/process.c +++ b/dlls/ntdll/process.c @@ -1396,7 +1396,7 @@ static NTSTATUS get_pe_file_info( UNICODE_STRING *path, ULONG attributes,