From b9f7ec5ccf8fcdeedd6f93f41fe6530f365498ad Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Fri, 11 Feb 2022 23:53:24 -0600 Subject: [PATCH] Rebase against d318f43559dbb0093e22bab1aa0eb9dc01170cc2. --- ...nt-CIF-reader-and-download-functions.patch | 131 +++++++++--------- ...port-for-progress-callback-in-CopyFi.patch | 10 +- ...ment-sortkey-generation-on-official-.patch | 12 +- ...e-Implement-sortkey-language-support.patch | 48 +++---- ...nt-CreateSymbolicLink-A-W-with-ntdll.patch | 57 ++++---- patches/patchinstall.sh | 2 +- ...te-processes-if-requested-in-CreateP.patch | 16 +-- ...-windows.networking.connectivity.idl.patch | 8 +- ...2-include-Add-windows.networking.idl.patch | 8 +- staging/upstream-commit | 2 +- 10 files changed, 148 insertions(+), 146 deletions(-) diff --git a/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch b/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch index c687eddd..4214a388 100644 --- a/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch +++ b/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch @@ -1,4 +1,4 @@ -From 088f9f0bf9b30749221e28d51d88d910ed458d9c Mon Sep 17 00:00:00 2001 +From c62655b9d54ce8b692bd84d41abe09cc40ae10e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Mon, 5 Sep 2016 15:31:29 +0200 Subject: [PATCH] inseng: Implement CIF reader and download functions. @@ -18,11 +18,10 @@ FIXME: Needs splitting. create mode 100644 dlls/inseng/inseng_private.h diff --git a/dlls/inseng/Makefile.in b/dlls/inseng/Makefile.in -index f4b1d4b915f..79121e16c94 100644 +index 0217203791a..ba2388c97ed 100644 --- a/dlls/inseng/Makefile.in +++ b/dlls/inseng/Makefile.in -@@ -1,9 +1,12 @@ - EXTRADEFS = -DWINE_NO_LONG_TYPES +@@ -1,8 +1,11 @@ MODULE = inseng.dll -IMPORTS = uuid ole32 advapi32 +IMPORTS = uuid ole32 advapi32 urlmon shlwapi @@ -38,7 +37,7 @@ index f4b1d4b915f..79121e16c94 100644 IDL_SRCS = inseng_classes.idl diff --git a/dlls/inseng/icif.c b/dlls/inseng/icif.c new file mode 100644 -index 00000000000..11a91b86476 +index 00000000000..27f6f6dfd93 --- /dev/null +++ b/dlls/inseng/icif.c @@ -0,0 +1,1745 @@ @@ -302,7 +301,7 @@ index 00000000000..11a91b86476 +{ + struct cifgroup *This = impl_from_ICifGroup(iface); + -+ TRACE("(%p)->(%p, %u)\n", This, id, size); ++ TRACE("(%p)->(%p, %lu)\n", This, id, size); + + return copy_substring_null(id, size, This->id); +} @@ -311,7 +310,7 @@ index 00000000000..11a91b86476 +{ + struct cifgroup *This = impl_from_ICifGroup(iface); + -+ TRACE("(%p)->(%p, %u)\n", This, desc, size); ++ TRACE("(%p)->(%p, %lu)\n", This, desc, size); + + return copy_substring_null(desc, size, This->description); +} @@ -330,10 +329,10 @@ index 00000000000..11a91b86476 + struct cifgroup *This = impl_from_ICifGroup(iface); + struct ciffile *file; + -+ TRACE("(%p)->(%p, %u, %p)\n", This, enum_components, filter, pv); ++ TRACE("(%p)->(%p, %#lx, %p)\n", This, enum_components, filter, pv); + + if (filter) -+ FIXME("filter (%x) not supported\n", filter); ++ FIXME("filter (%#lx) not supported\n", filter); + if (pv) + FIXME("how to handle pv (%p)?\n", pv); + @@ -391,7 +390,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ TRACE("(%p)->(%p, %u)\n", This, id, size); ++ TRACE("(%p)->(%p, %lu)\n", This, id, size); + + return copy_substring_null(id, size, This->id); +} @@ -400,7 +399,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ TRACE("(%p)->(%p, %u)\n", This, guid, size); ++ TRACE("(%p)->(%p, %lu)\n", This, guid, size); + + return copy_substring_null(guid, size, This->guid); +} @@ -409,7 +408,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ TRACE("(%p)->(%p, %u)\n", This, desc, size); ++ TRACE("(%p)->(%p, %lu)\n", This, desc, size); + + return copy_substring_null(desc, size, This->description); +} @@ -418,7 +417,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ TRACE("(%p)->(%p, %u)\n", This, details, size); ++ TRACE("(%p)->(%p, %lu)\n", This, details, size); + + return copy_substring_null(details, size, This->details); +} @@ -428,7 +427,7 @@ index 00000000000..11a91b86476 + struct cifcomponent *This = impl_from_ICifComponent(iface); + struct url_info *entry; + -+ TRACE("(%p)->(%u, %p, %u, %p)\n", This, index, url, size, flags); ++ TRACE("(%p)->(%u, %p, %lu, %p)\n", This, index, url, size, flags); + + /* FIXME: check how functions behaves for url == NULL */ + @@ -451,7 +450,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ FIXME("(%p)->(%u, %p, %u): stub\n", This, index, list, size); ++ FIXME("(%p)->(%u, %p, %lu): stub\n", This, index, list, size); + + return E_NOTIMPL; +} @@ -469,7 +468,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ FIXME("(%p)->(%u, %p, %u, %p, %u, %p): stub\n", This, index, cmd, cmd_size, switches, switch_size, type); ++ FIXME("(%p)->(%u, %p, %lu, %p, %lu, %p): stub\n", This, index, cmd, cmd_size, switches, switch_size, type); + + return E_NOTIMPL; +} @@ -493,7 +492,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ TRACE("(%p)->(%p, %u)\n", This, locale, size); ++ TRACE("(%p)->(%p, %lu)\n", This, locale, size); + + return copy_substring_null(locale, size, This->locale); +} @@ -502,7 +501,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ TRACE("(%p)->(%p, %u)\n", This, key, size); ++ TRACE("(%p)->(%p, %lu)\n", This, key, size); + + return copy_substring_null(key, size, This->key_uninstall); +} @@ -544,7 +543,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ TRACE("(%p)->(%p, %u)\n", This, key, size); ++ TRACE("(%p)->(%p, %lu)\n", This, key, size); + + return copy_substring_null(key, size, This->key_success); +} @@ -555,7 +554,7 @@ index 00000000000..11a91b86476 + struct cifcomponent *This = impl_from_ICifComponent(iface); + HRESULT hr; + -+ TRACE("(%p)->(%p, %u, %p, %u): semi-stub\n", This, progress, progress_size, cancel, cancel_size); ++ TRACE("(%p)->(%p, %lu, %p, %lu): semi-stub\n", This, progress, progress_size, cancel, cancel_size); + + hr = copy_substring_null(progress, progress_size, This->key_progress); + if (hr != S_OK) return hr; @@ -609,7 +608,7 @@ index 00000000000..11a91b86476 + ICifComponent *dependency; + int pos = 0; + -+ TRACE("(%p)->(%u, %p, %u, %p, %p, %p)\n", This, index, id, id_size, type, ver, build); ++ TRACE("(%p)->(%u, %p, %lu, %p, %p, %p)\n", This, index, id, id_size, type, ver, build); + + if (!id || !ver || !build) + return E_FAIL; @@ -653,7 +652,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ FIXME("(%p)->(%u, %p, %u): stub\n", This, index, mode, size); ++ FIXME("(%p)->(%u, %p, %lu): stub\n", This, index, mode, size); + + return E_NOTIMPL; +} @@ -662,7 +661,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ TRACE("(%p)->(%p, %u)\n", This, id, size); ++ TRACE("(%p)->(%p, %lu)\n", This, id, size); + + return copy_substring_null(id, size, This->group); +} @@ -680,7 +679,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ TRACE("(%p)->(%p, %u)\n", This, id, size); ++ TRACE("(%p)->(%p, %lu)\n", This, id, size); + + return copy_substring_null(id, size, This->patchid); +} @@ -689,7 +688,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ FIXME("(%p)->(%p, %u, %p, %u): stub\n", This, dll, dll_size, entry, entry_size); ++ FIXME("(%p)->(%p, %lu, %p, %lu): stub\n", This, dll, dll_size, entry, entry_size); + + return E_NOTIMPL; +} @@ -698,7 +697,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ FIXME("(%p)->(%u, %p, %u): stub\n", This, index, id, size); ++ FIXME("(%p)->(%u, %p, %lu): stub\n", This, index, id, size); + + return E_NOTIMPL; +} @@ -707,7 +706,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ FIXME("(%p)->(%s, %p, %u): stub\n", This, debugstr_a(key), data, size); ++ FIXME("(%p)->(%s, %p, %lu): stub\n", This, debugstr_a(key), data, size); + + return E_NOTIMPL; +} @@ -734,7 +733,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ FIXME("(%p)->(%u, %u, %p, %p): stub\n", This, version, build, ret_version, ret_build); ++ FIXME("(%p)->(%lu, %lu, %p, %p): stub\n", This, version, build, ret_version, ret_build); + + return 0; +} @@ -752,7 +751,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ TRACE("(%p)->(%u)\n", This, state); ++ TRACE("(%p)->(%lu)\n", This, state); + + This->queue_state = state; + return S_OK; @@ -781,7 +780,7 @@ index 00000000000..11a91b86476 +{ + struct cifcomponent *This = impl_from_ICifComponent(iface); + -+ TRACE("(%p)->(%u)\n", This, priority); ++ TRACE("(%p)->(%lu)\n", This, priority); + + This->current_priority = priority; + return S_OK; @@ -860,7 +859,7 @@ index 00000000000..11a91b86476 + struct ciffenum_components *This = impl_from_IEnumCifComponents(iface); + LONG ref = InterlockedIncrement(&This->ref); + -+ TRACE("(%p) ref=%d\n", This, ref); ++ TRACE("(%p) ref=%ld\n", This, ref); + + return ref; +} @@ -870,7 +869,7 @@ index 00000000000..11a91b86476 + struct ciffenum_components *This = impl_from_IEnumCifComponents(iface); + LONG ref = InterlockedDecrement(&This->ref); + -+ TRACE("(%p) ref=%d\n", This, ref); ++ TRACE("(%p) ref=%ld\n", This, ref); + + if(!ref) + { @@ -984,7 +983,7 @@ index 00000000000..11a91b86476 + struct ciffenum_groups *This = impl_from_IEnumCifGroups(iface); + LONG ref = InterlockedIncrement(&This->ref); + -+ TRACE("(%p) ref=%d\n", This, ref); ++ TRACE("(%p) ref=%ld\n", This, ref); + + return ref; +} @@ -994,7 +993,7 @@ index 00000000000..11a91b86476 + struct ciffenum_groups *This = impl_from_IEnumCifGroups(iface); + LONG ref = InterlockedDecrement(&This->ref); + -+ TRACE("(%p) ref=%d\n", This, ref); ++ TRACE("(%p) ref=%ld\n", This, ref); + + if(!ref) + { @@ -1093,7 +1092,7 @@ index 00000000000..11a91b86476 + struct ciffile *This = impl_from_ICiffile(iface); + LONG ref = InterlockedIncrement(&This->ref); + -+ TRACE("(%p) ref=%d\n", This, ref); ++ TRACE("(%p) ref=%ld\n", This, ref); + + return ref; +} @@ -1103,7 +1102,7 @@ index 00000000000..11a91b86476 + struct ciffile *This = impl_from_ICiffile(iface); + LONG ref = InterlockedDecrement(&This->ref); + -+ TRACE("(%p) ref=%d\n", This, ref); ++ TRACE("(%p) ref=%ld\n", This, ref); + + if(!ref) + { @@ -1134,10 +1133,10 @@ index 00000000000..11a91b86476 +{ + struct ciffile *This = impl_from_ICiffile(iface); + -+ TRACE("(%p)->(%p, %u, %p)\n", This, enum_components, filter, pv); ++ TRACE("(%p)->(%p, %#lx, %p)\n", This, enum_components, filter, pv); + + if (filter) -+ FIXME("filter (%x) not supported\n", filter); ++ FIXME("filter (%#lx) not supported\n", filter); + if (pv) + FIXME("how to handle pv (%p)?\n", pv); + @@ -1167,10 +1166,10 @@ index 00000000000..11a91b86476 +{ + struct ciffile *This = impl_from_ICiffile(iface); + -+ TRACE("(%p)->(%p, %u, %p)\n", This, enum_groups, filter, pv); ++ TRACE("(%p)->(%p, %#lx, %p)\n", This, enum_groups, filter, pv); + + if (filter) -+ FIXME("filter (%x) not supported\n", filter); ++ FIXME("filter (%#lx) not supported\n", filter); + if (pv) + FIXME("how to handle pv (%p)?\n", pv); + @@ -1200,7 +1199,7 @@ index 00000000000..11a91b86476 +{ + struct ciffile *This = impl_from_ICiffile(iface); + -+ FIXME("(%p)->(%p, %u, %p): stub\n", This, cuf_modes, filter, pv); ++ FIXME("(%p)->(%p, %lu, %p): stub\n", This, cuf_modes, filter, pv); + + return E_NOTIMPL; +} @@ -1218,7 +1217,7 @@ index 00000000000..11a91b86476 +{ + struct ciffile *This = impl_from_ICiffile(iface); + -+ TRACE("(%p)->(%p, %u)\n", This, desc, size); ++ TRACE("(%p)->(%p, %lu)\n", This, desc, size); + + return copy_substring_null(desc, size, This->name); +} @@ -1227,7 +1226,7 @@ index 00000000000..11a91b86476 +{ + struct ciffile *This = impl_from_ICiffile(iface); + -+ FIXME("(%p)->(%p, %u): stub\n", This, dlls, size); ++ FIXME("(%p)->(%p, %lu): stub\n", This, dlls, size); + + return E_NOTIMPL; +} @@ -1729,7 +1728,7 @@ index 00000000000..11a91b86476 + else + hr = process_section(file, section, section_name); + -+ TRACE("finished processing section %s (%x)\n", debugstr_a(section_name), hr); ++ TRACE("Finished processing section %s, hr %#lx.\n", debugstr_a(section_name), hr); + heap_free(section_name); + } + @@ -2250,7 +2249,7 @@ index 82c0b4d5fe1..7ae46fad3a7 100644 +@ stdcall GetICifRWFileFromFile(ptr str) @ stub PurgeDownloadDirectory diff --git a/dlls/inseng/inseng_main.c b/dlls/inseng/inseng_main.c -index 2c95a2e72bd..6a926ccb379 100644 +index c72a12955b8..87d11472ff0 100644 --- a/dlls/inseng/inseng_main.c +++ b/dlls/inseng/inseng_main.c @@ -2,6 +2,7 @@ @@ -2375,7 +2374,7 @@ index 2c95a2e72bd..6a926ccb379 100644 + struct downloadcb *This = impl_from_IBindStatusCallback(iface); + LONG ref = InterlockedIncrement(&This->ref); + -+ TRACE("(%p) ref = %d\n", This, ref); ++ TRACE("(%p) ref = %ld\n", This, ref); + + return ref; +} @@ -2385,7 +2384,7 @@ index 2c95a2e72bd..6a926ccb379 100644 + struct downloadcb *This = impl_from_IBindStatusCallback(iface); + LONG ref = InterlockedDecrement(&This->ref); + -+ TRACE("(%p) ref = %d\n", This, ref); ++ TRACE("(%p) ref = %ld\n", This, ref); + + if (!ref) + { @@ -2403,7 +2402,7 @@ index 2c95a2e72bd..6a926ccb379 100644 +{ + struct downloadcb *This = impl_from_IBindStatusCallback(iface); + -+ TRACE("(%p)->(%u %p)\n", This, reserved, pbind); ++ TRACE("(%p)->(%lu %p)\n", This, reserved, pbind); + + return S_OK; +} @@ -2421,7 +2420,7 @@ index 2c95a2e72bd..6a926ccb379 100644 +{ + struct downloadcb *This = impl_from_IBindStatusCallback(iface); + -+ FIXME("(%p)->(%u): stub\n", This, reserved); ++ FIXME("(%p)->(%lu): stub\n", This, reserved); + + return E_NOTIMPL; +} @@ -2432,7 +2431,7 @@ index 2c95a2e72bd..6a926ccb379 100644 + struct downloadcb *This = impl_from_IBindStatusCallback(iface); + HRESULT hr = S_OK; + -+ TRACE("%p)->(%u %u %u %s)\n", This, progress, progress_max, status, debugstr_w(status_text)); ++ TRACE("%p)->(%lu %lu %lu %s)\n", This, progress, progress_max, status, debugstr_w(status_text)); + + switch(status) + { @@ -2466,7 +2465,7 @@ index 2c95a2e72bd..6a926ccb379 100644 + break; + + default: -+ FIXME("Unsupported status %u\n", status); ++ FIXME("Unsupported status %lu\n", status); + } + + return hr; @@ -2476,7 +2475,7 @@ index 2c95a2e72bd..6a926ccb379 100644 +{ + struct downloadcb *This = impl_from_IBindStatusCallback(iface); + -+ TRACE("(%p)->(%08x %s)\n", This, hresult, debugstr_w(szError)); ++ TRACE("(%p)->(%#lx %s)\n", This, hresult, debugstr_w(szError)); + + if (FAILED(hresult)) + { @@ -2519,7 +2518,7 @@ index 2c95a2e72bd..6a926ccb379 100644 +{ + struct downloadcb *This = impl_from_IBindStatusCallback(iface); + -+ TRACE("(%p)->(%08x %u %p %p)\n", This, grfBSCF, dwSize, pformatetc, pstgmed); ++ TRACE("(%p)->(%#lx %lu %p %p)\n", This, grfBSCF, dwSize, pformatetc, pstgmed); + + return S_OK; +} @@ -2603,7 +2602,7 @@ index 2c95a2e72bd..6a926ccb379 100644 @@ -86,181 +385,726 @@ static ULONG WINAPI InstallEngine_Release(IInstallEngine2 *iface) - TRACE("(%p) ref=%d\n", This, ref); + TRACE("(%p) ref=%ld\n", This, ref); - if(!ref) + if (!ref) @@ -3047,10 +3046,10 @@ index 2c95a2e72bd..6a926ccb379 100644 static HRESULT WINAPI InstallEngine_DownloadComponents(IInstallEngine2 *iface, DWORD flags) { InstallEngine *This = impl_from_IInstallEngine2(iface); -- FIXME("(%p)->(%x)\n", This, flags); +- FIXME("(%p)->(%lx)\n", This, flags); - return E_NOTIMPL; + -+ TRACE("(%p)->(%x)\n", This, flags); ++ TRACE("(%p)->(%#lx)\n", This, flags); + + /* The interface is not really threadsafe on windows, but we can at least prevent multiple installations */ + if (InterlockedCompareExchange((LONG *)&This->status, ENGINESTATUS_INSTALLING, ENGINESTATUS_READY) != ENGINESTATUS_READY) @@ -3065,9 +3064,9 @@ index 2c95a2e72bd..6a926ccb379 100644 static HRESULT WINAPI InstallEngine_InstallComponents(IInstallEngine2 *iface, DWORD flags) { InstallEngine *This = impl_from_IInstallEngine2(iface); -- FIXME("(%p)->(%x)\n", This, flags); +- FIXME("(%p)->(%lx)\n", This, flags); + -+ FIXME("(%p)->(%x): stub\n", This, flags); ++ FIXME("(%p)->(%#lx): stub\n", This, flags); + return E_NOTIMPL; } @@ -3077,7 +3076,7 @@ index 2c95a2e72bd..6a926ccb379 100644 InstallEngine *This = impl_from_IInstallEngine2(iface); - FIXME("(%p)->(%d %p)\n", This, index, id); + -+ FIXME("(%p)->(%u %p): stub\n", This, index, id); ++ FIXME("(%p)->(%lu %p): stub\n", This, index, id); + return E_NOTIMPL; } @@ -3091,7 +3090,7 @@ index 2c95a2e72bd..6a926ccb379 100644 + ICifComponent *comp; + HRESULT hr; + -+ TRACE("(%p)->(%u %p)\n", This, index, id); ++ TRACE("(%p)->(%lu %p)\n", This, index, id); + + if (!This->icif || !id) + return E_FAIL; @@ -3167,12 +3166,12 @@ index 2c95a2e72bd..6a926ccb379 100644 static HRESULT WINAPI InstallEngine_SetAction(IInstallEngine2 *iface, const char *id, DWORD action, DWORD priority) { InstallEngine *This = impl_from_IInstallEngine2(iface); -- FIXME("(%p)->(%s %d %d)\n", This, debugstr_a(id), action, priority); +- FIXME("(%p)->(%s %ld %ld)\n", This, debugstr_a(id), action, priority); - return E_NOTIMPL; + ICifComponent *comp; + HRESULT hr; + -+ TRACE("(%p)->(%s %u %u)\n", This, debugstr_a(id), action, priority); ++ TRACE("(%p)->(%s %lu %lu)\n", This, debugstr_a(id), action, priority); + + if (!This->icif) + return E_FAIL; /* FIXME: check error code */ @@ -3260,9 +3259,9 @@ index 2c95a2e72bd..6a926ccb379 100644 static HRESULT WINAPI InstallEngine_SetInstallOptions(IInstallEngine2 *iface, DWORD flags) { InstallEngine *This = impl_from_IInstallEngine2(iface); -- FIXME("(%p)->(%x)\n", This, flags); +- FIXME("(%p)->(%lx)\n", This, flags); + -+ FIXME("(%p)->(%x): stub\n", This, flags); ++ FIXME("(%p)->(%#lx): stub\n", This, flags); + return E_NOTIMPL; } @@ -3290,9 +3289,9 @@ index 2c95a2e72bd..6a926ccb379 100644 static HRESULT WINAPI InstallEngine_Abort(IInstallEngine2 *iface, DWORD flags) { InstallEngine *This = impl_from_IInstallEngine2(iface); -- FIXME("(%p)->(%x)\n", This, flags); +- FIXME("(%p)->(%lx)\n", This, flags); + -+ FIXME("(%p)->(%x): stub\n", This, flags); ++ FIXME("(%p)->(%#lx): stub\n", This, flags); + return E_NOTIMPL; } diff --git a/patches/kernel32-CopyFileEx/0001-kernel32-Add-support-for-progress-callback-in-CopyFi.patch b/patches/kernel32-CopyFileEx/0001-kernel32-Add-support-for-progress-callback-in-CopyFi.patch index 09094503..1eab26a3 100644 --- a/patches/kernel32-CopyFileEx/0001-kernel32-Add-support-for-progress-callback-in-CopyFi.patch +++ b/patches/kernel32-CopyFileEx/0001-kernel32-Add-support-for-progress-callback-in-CopyFi.patch @@ -1,4 +1,4 @@ -From b2a5efcef525f887c7fe40ce3ed0a8a47c42d5fc Mon Sep 17 00:00:00 2001 +From f29eb0b6a2b555beea0c29e9202c218ef31311b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 26 Feb 2015 06:41:26 +0100 Subject: [PATCH] kernelbase: Add support for progress callback in CopyFileEx. @@ -9,7 +9,7 @@ Subject: [PATCH] kernelbase: Add support for progress callback in CopyFileEx. 2 files changed, 71 insertions(+), 12 deletions(-) diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c -index 6ea9dffde5c..b12d0477e04 100644 +index f8e49491a7d..74c13ff11d0 100644 --- a/dlls/kernel32/tests/file.c +++ b/dlls/kernel32/tests/file.c @@ -1169,23 +1169,17 @@ static void test_CopyFileEx(void) @@ -37,7 +37,7 @@ index 6ea9dffde5c..b12d0477e04 100644 retok = CopyFileExA(source, NULL, copy_progress_cb, hfile, NULL, 0); diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c -index 23a36b0a765..98cf7e58368 100644 +index c6dc904044a..b9ba1bd7c26 100644 --- a/dlls/kernelbase/file.c +++ b/dlls/kernelbase/file.c @@ -499,11 +499,16 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT @@ -60,7 +60,7 @@ index 23a36b0a765..98cf7e58368 100644 { @@ -518,7 +523,15 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT - TRACE("%s -> %s, %x\n", debugstr_w(source), debugstr_w(dest), flags); + TRACE("%s -> %s, %lx\n", debugstr_w(source), debugstr_w(dest), flags); - if ((h1 = CreateFileW( source, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, + if (flags & COPY_FILE_RESTARTABLE) @@ -169,5 +169,5 @@ index 23a36b0a765..98cf7e58368 100644 CloseHandle( h1 ); CloseHandle( h2 ); -- -2.30.2 +2.34.1 diff --git a/patches/libs-Unicode_Collation/0001-kernelbase-Implement-sortkey-generation-on-official-.patch b/patches/libs-Unicode_Collation/0001-kernelbase-Implement-sortkey-generation-on-official-.patch index 9609d99a..0dcf7651 100644 --- a/patches/libs-Unicode_Collation/0001-kernelbase-Implement-sortkey-generation-on-official-.patch +++ b/patches/libs-Unicode_Collation/0001-kernelbase-Implement-sortkey-generation-on-official-.patch @@ -1,4 +1,4 @@ -From 96bd1ab47a39d621c5f63264fb4bc415164d371c Mon Sep 17 00:00:00 2001 +From e5ed00ac26224e2f7cc6e2ee769d254ead973ef2 Mon Sep 17 00:00:00 2001 From: Fabian Maurer Date: Fri, 10 Apr 2020 18:47:18 +0200 Subject: [PATCH] kernelbase: Implement sortkey generation on official tables @@ -10,7 +10,7 @@ Signed-off-by: Fabian Maurer 2 files changed, 413 insertions(+), 123 deletions(-) diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c -index 94c9ce3ad1b..8447e67486c 100644 +index 8f48b89334c..1ce19b5b418 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -2560,6 +2560,13 @@ static void test_lcmapstring_unicode(lcmapstring_wrapper func_ptr, const char *f @@ -163,7 +163,7 @@ index 94c9ce3ad1b..8447e67486c 100644 static void test_FoldStringA(void) { int ret, i, j; -@@ -7201,6 +7337,7 @@ START_TEST(locale) +@@ -7194,6 +7330,7 @@ START_TEST(locale) test_NLSVersion(); test_geo_name(); test_sorting(); @@ -172,7 +172,7 @@ index 94c9ce3ad1b..8447e67486c 100644 test_EnumCalendarInfoW(); test_EnumCalendarInfoExA(); diff --git a/dlls/kernelbase/locale.c b/dlls/kernelbase/locale.c -index 667d1a4dc65..095e0a68558 100644 +index 2f2154a0e7c..c16535a5f1a 100644 --- a/dlls/kernelbase/locale.c +++ b/dlls/kernelbase/locale.c @@ -2164,127 +2164,6 @@ static int wcstombs_codepage( UINT codepage, DWORD flags, const WCHAR *src, int @@ -585,7 +585,7 @@ index 667d1a4dc65..095e0a68558 100644 static const struct geoinfo *get_geoinfo_ptr( GEOID geoid ) { @@ -5302,8 +5455,8 @@ INT WINAPI DECLSPEC_HOTPATCH LCMapStringEx( const WCHAR *locale, DWORD flags, co - TRACE( "(%s,0x%08x,%s,%d,%p,%d)\n", + TRACE( "(%s,0x%08lx,%s,%d,%p,%d)\n", debugstr_w(locale), flags, debugstr_wn(src, srclen), srclen, dst, dstlen ); - if ((ret = get_sortkey( flags, src, srclen, (char *)dst, dstlen ))) ret++; @@ -596,5 +596,5 @@ index 667d1a4dc65..095e0a68558 100644 } -- -2.33.0 +2.34.1 diff --git a/patches/libs-Unicode_Collation/0005-kernelbase-Implement-sortkey-language-support.patch b/patches/libs-Unicode_Collation/0005-kernelbase-Implement-sortkey-language-support.patch index d40bbda4..51352eae 100644 --- a/patches/libs-Unicode_Collation/0005-kernelbase-Implement-sortkey-language-support.patch +++ b/patches/libs-Unicode_Collation/0005-kernelbase-Implement-sortkey-language-support.patch @@ -1,4 +1,4 @@ -From 1ef8d8455449563aaa1d3c9ce16444134f3a9ef4 Mon Sep 17 00:00:00 2001 +From 74ed8758a238f1747055b4c8fa78edc2d5e7aba9 Mon Sep 17 00:00:00 2001 From: Fabian Maurer Date: Sat, 8 Aug 2020 17:32:56 +0200 Subject: [PATCH] kernelbase: Implement sortkey language support @@ -10,10 +10,10 @@ Signed-off-by: Fabian Maurer 2 files changed, 109 insertions(+), 40 deletions(-) diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c -index e8adb32bbbd..e4a31c120f0 100644 +index 0aaa87e38c1..84931318075 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c -@@ -3335,6 +3335,56 @@ static const struct sorting_test_entry unicode_sorting_tests[] = +@@ -3210,6 +3210,56 @@ static const struct sorting_test_entry unicode_sorting_tests[] = { L"en-US", CSTR_LESS_THAN, CSTR_EQUAL, 0, L"\x0f75", L"\x0f71\x0f74" }, /* Expansion character always follow default character logic */ { L"en-US", CSTR_LESS_THAN, CSTR_EQUAL, 0, L"\xfc5e", L"\x064c\x0651" }, /* Expansion character always follow default character logic */ { L"en-US", CSTR_LESS_THAN, CSTR_EQUAL, 0, L"\xfb2b", L"\x05e9\x05c2" }, /* Expansion character always follow default character logic */ @@ -71,10 +71,10 @@ index e8adb32bbbd..e4a31c120f0 100644 static void test_unicode_sorting(void) diff --git a/dlls/kernelbase/locale.c b/dlls/kernelbase/locale.c -index da358d74934..ef135e48c2f 100644 +index e81ed0e0f2e..394912307a9 100644 --- a/dlls/kernelbase/locale.c +++ b/dlls/kernelbase/locale.c -@@ -2494,9 +2494,27 @@ struct sortkey_data +@@ -2530,9 +2530,27 @@ struct sortkey_data int buffer_len; }; @@ -104,7 +104,7 @@ index da358d74934..ef135e48c2f 100644 info->weight_case = value >> 24; info->weight_diacritic = (value >> 16) & 0xff; info->script_member = (value >> 8) & 0xff; -@@ -2548,18 +2566,18 @@ static void sortkey_add_diacritic_weight(struct sortkey_data *data, BYTE value, +@@ -2584,18 +2602,18 @@ static void sortkey_add_diacritic_weight(struct sortkey_data *data, BYTE value, *last_weighted_pos = data->buffer_pos; } @@ -127,7 +127,7 @@ index da358d74934..ef135e48c2f 100644 if (info.script_member != SORTKEY_UNSORTABLE) { sortkey_add_weight(data, info.script_member); -@@ -2569,11 +2587,11 @@ static void sortkey_handle_expansion_main(struct sortkey_data *data, int flags, +@@ -2605,11 +2623,11 @@ static void sortkey_handle_expansion_main(struct sortkey_data *data, int flags, } } @@ -141,7 +141,7 @@ index da358d74934..ef135e48c2f 100644 switch (info.script_member) { -@@ -2581,7 +2599,7 @@ static void sortkey_add_main_weights(struct sortkey_data *data, int flags, WCHAR +@@ -2617,7 +2635,7 @@ static void sortkey_add_main_weights(struct sortkey_data *data, int flags, WCHAR break; case SORTKEY_EXPANSION: @@ -150,7 +150,7 @@ index da358d74934..ef135e48c2f 100644 break; case SORTKEY_DIACRITIC: -@@ -2640,18 +2658,18 @@ static void sortkey_add_main_weights(struct sortkey_data *data, int flags, WCHAR +@@ -2676,18 +2694,18 @@ static void sortkey_add_main_weights(struct sortkey_data *data, int flags, WCHAR } } @@ -173,7 +173,7 @@ index da358d74934..ef135e48c2f 100644 if (info.script_member != SORTKEY_UNSORTABLE) { if (!sortkey_is_PUA(info.script_member)) -@@ -2659,12 +2677,12 @@ static void sortkey_handle_expansion_diacritic(struct sortkey_data *data, int fl +@@ -2695,12 +2713,12 @@ static void sortkey_handle_expansion_diacritic(struct sortkey_data *data, int fl } } @@ -188,7 +188,7 @@ index da358d74934..ef135e48c2f 100644 switch (info.script_member) { -@@ -2672,7 +2690,7 @@ static void sortkey_add_diacritic_weights(struct sortkey_data *data, int flags, +@@ -2708,7 +2726,7 @@ static void sortkey_add_diacritic_weights(struct sortkey_data *data, int flags, break; case SORTKEY_EXPANSION: @@ -197,7 +197,7 @@ index da358d74934..ef135e48c2f 100644 break; case SORTKEY_DIACRITIC: -@@ -2728,29 +2746,29 @@ static void sortkey_add_diacritic_weights(struct sortkey_data *data, int flags, +@@ -2764,29 +2782,29 @@ static void sortkey_add_diacritic_weights(struct sortkey_data *data, int flags, } } @@ -233,7 +233,7 @@ index da358d74934..ef135e48c2f 100644 switch (info.script_member) { -@@ -2758,7 +2776,7 @@ static void sortkey_add_case_weights(struct sortkey_data *data, int flags, WCHAR +@@ -2794,7 +2812,7 @@ static void sortkey_add_case_weights(struct sortkey_data *data, int flags, WCHAR break; case SORTKEY_EXPANSION: @@ -242,7 +242,7 @@ index da358d74934..ef135e48c2f 100644 break; case SORTKEY_DIACRITIC: -@@ -2800,12 +2818,12 @@ static void sortkey_add_case_weights(struct sortkey_data *data, int flags, WCHAR +@@ -2836,12 +2854,12 @@ static void sortkey_add_case_weights(struct sortkey_data *data, int flags, WCHAR } } @@ -257,7 +257,7 @@ index da358d74934..ef135e48c2f 100644 if (info.script_member == SORTKEY_PUNCTUATION) { -@@ -2818,11 +2836,11 @@ static void sortkey_add_special_weights(struct sortkey_data *data, int flags, WC +@@ -2854,11 +2872,11 @@ static void sortkey_add_special_weights(struct sortkey_data *data, int flags, WC } } @@ -271,7 +271,7 @@ index da358d74934..ef135e48c2f 100644 if (info.script_member == SORTKEY_JAPANESE) { -@@ -2840,11 +2858,11 @@ static void sortkey_add_extra_weights_small(struct sortkey_data *data, int flags +@@ -2876,11 +2894,11 @@ static void sortkey_add_extra_weights_small(struct sortkey_data *data, int flags } } @@ -285,7 +285,7 @@ index da358d74934..ef135e48c2f 100644 if (info.script_member == SORTKEY_JAPANESE) { -@@ -2861,11 +2879,11 @@ static void sortkey_add_extra_weights_kana(struct sortkey_data *data, int flags, +@@ -2897,11 +2915,11 @@ static void sortkey_add_extra_weights_kana(struct sortkey_data *data, int flags, } } @@ -299,7 +299,7 @@ index da358d74934..ef135e48c2f 100644 if (info.script_member == SORTKEY_JAPANESE) { -@@ -2882,13 +2900,14 @@ static void sortkey_add_extra_weights_width(struct sortkey_data *data, int flags +@@ -2918,13 +2936,14 @@ static void sortkey_add_extra_weights_width(struct sortkey_data *data, int flags } } @@ -315,7 +315,7 @@ index da358d74934..ef135e48c2f 100644 data.buffer = buffer; data.buffer_pos = 0; -@@ -2899,7 +2918,7 @@ static int sortkey_generate(int flags, const WCHAR *locale, const WCHAR *str, in +@@ -2935,7 +2954,7 @@ static int sortkey_generate(int flags, const WCHAR *locale, const WCHAR *str, in /* Main weights */ for (i = 0; i < str_len; i++) @@ -324,7 +324,7 @@ index da358d74934..ef135e48c2f 100644 sortkey_add_weight(&data, SORTKEY_SEPARATOR); /* Diacritic weights */ -@@ -2908,7 +2927,7 @@ static int sortkey_generate(int flags, const WCHAR *locale, const WCHAR *str, in +@@ -2944,7 +2963,7 @@ static int sortkey_generate(int flags, const WCHAR *locale, const WCHAR *str, in int diacritic_start_pos = data.buffer_pos; int last_weighted_pos = data.buffer_pos; for (i = 0; i < str_len; i++) @@ -333,7 +333,7 @@ index da358d74934..ef135e48c2f 100644 /* Remove all weights <= SORTKEY_MIN_WEIGHT from the end */ data.buffer_pos = last_weighted_pos; } -@@ -2916,24 +2935,24 @@ static int sortkey_generate(int flags, const WCHAR *locale, const WCHAR *str, in +@@ -2952,24 +2971,24 @@ static int sortkey_generate(int flags, const WCHAR *locale, const WCHAR *str, in /* Case weights */ for (i = 0; i < str_len; i++) @@ -363,8 +363,8 @@ index da358d74934..ef135e48c2f 100644 sortkey_add_weight(&data, SORTKEY_TERMINATOR); if (data.buffer_pos <= buffer_len || !buffer) -@@ -5622,7 +5641,7 @@ INT WINAPI DECLSPEC_HOTPATCH LCMapStringEx( const WCHAR *locale, DWORD flags, co - TRACE( "(%s,0x%08x,%s,%d,%p,%d)\n", +@@ -5667,7 +5686,7 @@ INT WINAPI DECLSPEC_HOTPATCH LCMapStringEx( const WCHAR *locale, DWORD flags, co + TRACE( "(%s,0x%08lx,%s,%d,%p,%d)\n", debugstr_w(locale), flags, debugstr_wn(src, srclen), srclen, dst, dstlen ); - if (!(ret = sortkey_generate(flags, L"", src, srclen, (BYTE *)dst, dstlen ))) @@ -373,5 +373,5 @@ index da358d74934..ef135e48c2f 100644 return ret; } -- -2.29.2 +2.34.1 diff --git a/patches/ntdll-Junction_Points/0027-kernel32-Implement-CreateSymbolicLink-A-W-with-ntdll.patch b/patches/ntdll-Junction_Points/0027-kernel32-Implement-CreateSymbolicLink-A-W-with-ntdll.patch index 9c5f0729..571c64ef 100644 --- a/patches/ntdll-Junction_Points/0027-kernel32-Implement-CreateSymbolicLink-A-W-with-ntdll.patch +++ b/patches/ntdll-Junction_Points/0027-kernel32-Implement-CreateSymbolicLink-A-W-with-ntdll.patch @@ -1,27 +1,27 @@ -From 77515fff89d1e21aa47d3a95aacc5138054cdb77 Mon Sep 17 00:00:00 2001 +From 73ce551bae8a040575c3f631b8f67a5eb79bda37 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Wed, 13 Mar 2019 16:02:05 -0600 -Subject: kernel32: Implement CreateSymbolicLink[A|W] with ntdll reparse - points. +Subject: [PATCH] kernel32: Implement CreateSymbolicLink[A|W] with ntdll + reparse points. Signed-off-by: Erich E. Hoover --- dlls/kernel32/path.c | 12 +++- - dlls/kernel32/tests/path.c | 94 ++++++++++++++++++++++++++++++ - dlls/kernelbase/file.c | 103 ++++++++++++++++++++++++++++++++- - dlls/msvcp120/tests/msvcp120.c | 75 +++++++++++------------- + dlls/kernel32/tests/path.c | 94 +++++++++++++++++++++++++++++ + dlls/kernelbase/file.c | 105 ++++++++++++++++++++++++++++++++- + dlls/msvcp120/tests/msvcp120.c | 75 +++++++++++------------ dlls/msvcp140/tests/msvcp140.c | 63 +++++++++----------- - 5 files changed, 266 insertions(+), 81 deletions(-) + 5 files changed, 267 insertions(+), 82 deletions(-) diff --git a/dlls/kernel32/path.c b/dlls/kernel32/path.c -index 957e9fca01d..ca2868c5635 100644 +index 2dd3eac3c26..97428dd4d95 100644 --- a/dlls/kernel32/path.c +++ b/dlls/kernel32/path.c @@ -352,8 +352,16 @@ WCHAR * CDECL wine_get_dos_file_name( LPCSTR str ) */ BOOLEAN WINAPI CreateSymbolicLinkA(LPCSTR link, LPCSTR target, DWORD flags) { -- FIXME("(%s %s %d): stub\n", debugstr_a(link), debugstr_a(target), flags); +- FIXME("(%s %s %ld): stub\n", debugstr_a(link), debugstr_a(target), flags); - return TRUE; + WCHAR *linkW, *targetW; + BOOL ret; @@ -37,7 +37,7 @@ index 957e9fca01d..ca2868c5635 100644 /************************************************************************* diff --git a/dlls/kernel32/tests/path.c b/dlls/kernel32/tests/path.c -index 2955be0da9c..78326fc8bb1 100644 +index db376eef24a..33a29ab1cea 100644 --- a/dlls/kernel32/tests/path.c +++ b/dlls/kernel32/tests/path.c @@ -83,6 +83,9 @@ static NTSTATUS (WINAPI *pLdrGetDllPath)(LPCWSTR,ULONG,LPWSTR*,LPWSTR*); @@ -50,7 +50,7 @@ index 2955be0da9c..78326fc8bb1 100644 /* a structure to deal with wine todos somewhat cleanly */ typedef struct { DWORD shortlen; -@@ -2148,6 +2151,7 @@ static void init_pointers(void) +@@ -2106,6 +2109,7 @@ static void init_pointers(void) MAKEFUNC(SetDefaultDllDirectories); MAKEFUNC(CheckNameLegalDOS8Dot3W); MAKEFUNC(CheckNameLegalDOS8Dot3A); @@ -58,7 +58,7 @@ index 2955be0da9c..78326fc8bb1 100644 mod = GetModuleHandleA("ntdll.dll"); MAKEFUNC(LdrGetDllPath); MAKEFUNC(RtlGetExePath); -@@ -2734,6 +2738,95 @@ static void test_LdrGetDllPath(void) +@@ -2692,6 +2696,95 @@ static void test_LdrGetDllPath(void) SetEnvironmentVariableW( pathW, old_path ); } @@ -154,14 +154,14 @@ index 2955be0da9c..78326fc8bb1 100644 START_TEST(path) { CHAR origdir[MAX_PATH],curdir[MAX_PATH], curDrive, otherDrive; -@@ -2763,4 +2856,5 @@ START_TEST(path) +@@ -2721,4 +2814,5 @@ START_TEST(path) test_RtlGetSearchPath(); test_RtlGetExePath(); test_LdrGetDllPath(); + test_CreateSymbolicLink(); } diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c -index 904a4f0979f..e44a5755460 100644 +index 4ef43b83b66..c2f6a8307a8 100644 --- a/dlls/kernelbase/file.c +++ b/dlls/kernelbase/file.c @@ -38,6 +38,7 @@ @@ -172,11 +172,14 @@ index 904a4f0979f..e44a5755460 100644 #include "kernelbase.h" #include "wine/exception.h" -@@ -940,8 +941,106 @@ done: +@@ -938,10 +939,108 @@ done: + /************************************************************************* + * CreateSymbolicLinkW (kernelbase.@) */ - BOOLEAN WINAPI /* DECLSPEC_HOTPATCH */ CreateSymbolicLinkW( LPCWSTR link, LPCWSTR target, DWORD flags ) +-BOOLEAN WINAPI /* DECLSPEC_HOTPATCH */ CreateSymbolicLinkW( LPCWSTR link, LPCWSTR target, DWORD flags ) ++BOOLEAN WINAPI DECLSPEC_HOTPATCH CreateSymbolicLinkW( const WCHAR *link, const WCHAR *target, DWORD flags ) { -- FIXME( "(%s %s %d): stub\n", debugstr_w(link), debugstr_w(target), flags ); +- FIXME( "(%s %s %ld): stub\n", debugstr_w(link), debugstr_w(target), flags ); - return TRUE; + static INT struct_size = offsetof(REPARSE_DATA_BUFFER, SymbolicLinkReparseBuffer.PathBuffer[0]); + static INT header_size = offsetof(REPARSE_DATA_BUFFER, GenericReparseBuffer); @@ -192,7 +195,7 @@ index 904a4f0979f..e44a5755460 100644 + HANDLE hlink; + DWORD dwret; + -+ TRACE( "(%s %s %d): stub\n", debugstr_w(link), debugstr_w(target), flags ); ++ TRACE( "(%s %s %#lx)\n", debugstr_w(link), debugstr_w(target), flags ); + + is_relative = (RtlDetermineDosPathNameType_U( target ) == RELATIVE_PATH); + is_dir = (flags & SYMBOLIC_LINK_FLAG_DIRECTORY); @@ -282,10 +285,10 @@ index 904a4f0979f..e44a5755460 100644 diff --git a/dlls/msvcp120/tests/msvcp120.c b/dlls/msvcp120/tests/msvcp120.c -index 495ee9dd6fb..c982be0c10e 100644 +index 9e36071d06a..681acfc1c39 100644 --- a/dlls/msvcp120/tests/msvcp120.c +++ b/dlls/msvcp120/tests/msvcp120.c -@@ -1609,15 +1609,14 @@ static void test_tr2_sys__Stat(void) +@@ -1613,15 +1613,14 @@ static void test_tr2_sys__Stat(void) char const *path; enum file_type ret; int err_code; @@ -308,7 +311,7 @@ index 495ee9dd6fb..c982be0c10e 100644 }; CreateDirectoryA("tr2_test_dir", NULL); -@@ -1660,16 +1659,14 @@ static void test_tr2_sys__Stat(void) +@@ -1664,16 +1663,14 @@ static void test_tr2_sys__Stat(void) for(i=0; i Date: Sun, 18 Apr 2021 17:46:35 -0500 Subject: [PATCH] kernelbase: Elevate processes if requested in @@ -10,7 +10,7 @@ Signed-off-by: Zebediah Figura 1 file changed, 55 insertions(+), 2 deletions(-) diff --git a/dlls/kernelbase/process.c b/dlls/kernelbase/process.c -index ab89d3bcf31..270951a795e 100644 +index 35381f409e9..e64076cb860 100644 --- a/dlls/kernelbase/process.c +++ b/dlls/kernelbase/process.c @@ -30,6 +30,7 @@ @@ -21,7 +21,7 @@ index ab89d3bcf31..270951a795e 100644 #include "kernelbase.h" #include "wine/debug.h" -@@ -413,6 +414,54 @@ BOOL WINAPI DECLSPEC_HOTPATCH CloseHandle( HANDLE handle ) +@@ -414,6 +415,54 @@ BOOL WINAPI DECLSPEC_HOTPATCH CloseHandle( HANDLE handle ) } @@ -76,7 +76,7 @@ index ab89d3bcf31..270951a795e 100644 /********************************************************************** * CreateProcessAsUserA (kernelbase.@) */ -@@ -499,7 +548,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessInternalW( HANDLE token, const WCHAR +@@ -500,7 +549,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessInternalW( HANDLE token, const WCHAR WCHAR *p, *tidy_cmdline = cmd_line; RTL_USER_PROCESS_PARAMETERS *params = NULL; RTL_USER_PROCESS_INFORMATION rtl_info; @@ -85,7 +85,7 @@ index ab89d3bcf31..270951a795e 100644 ULONG nt_flags = 0; NTSTATUS status; -@@ -607,6 +656,9 @@ BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessInternalW( HANDLE token, const WCHAR +@@ -608,6 +657,9 @@ BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessInternalW( HANDLE token, const WCHAR if (flags & CREATE_BREAKAWAY_FROM_JOB) nt_flags |= PROCESS_CREATE_FLAGS_BREAKAWAY; if (flags & CREATE_SUSPENDED) nt_flags |= PROCESS_CREATE_FLAGS_SUSPENDED; @@ -95,8 +95,8 @@ index ab89d3bcf31..270951a795e 100644 status = create_nt_process( token, debug, process_attr, thread_attr, nt_flags, params, &rtl_info, parent, handle_list, job_list ); switch (status) -@@ -648,7 +700,8 @@ BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessInternalW( HANDLE token, const WCHAR - TRACE( "started process pid %04x tid %04x\n", info->dwProcessId, info->dwThreadId ); +@@ -649,7 +701,8 @@ BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessInternalW( HANDLE token, const WCHAR + TRACE( "started process pid %04lx tid %04lx\n", info->dwProcessId, info->dwThreadId ); } - done: @@ -106,5 +106,5 @@ index ab89d3bcf31..270951a795e 100644 if (tidy_cmdline != cmd_line) HeapFree( GetProcessHeap(), 0, tidy_cmdline ); return set_ntstatus( status ); -- -2.30.2 +2.34.1 diff --git a/patches/windows.networking.connectivity-new-dll/0001-include-Add-windows.networking.connectivity.idl.patch b/patches/windows.networking.connectivity-new-dll/0001-include-Add-windows.networking.connectivity.idl.patch index aea3ca3f..dd96b860 100644 --- a/patches/windows.networking.connectivity-new-dll/0001-include-Add-windows.networking.connectivity.idl.patch +++ b/patches/windows.networking.connectivity-new-dll/0001-include-Add-windows.networking.connectivity.idl.patch @@ -1,4 +1,4 @@ -From a5d61672e671ca208fb51fd227566179128bc888 Mon Sep 17 00:00:00 2001 +From beb2d6ed1dd39b4028e848a7429a82d55ce690a7 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 28 May 2021 12:34:37 +1000 Subject: [PATCH] include: Add windows.networking.connectivity.idl @@ -10,12 +10,12 @@ Subject: [PATCH] include: Add windows.networking.connectivity.idl create mode 100644 include/windows.networking.connectivity.idl diff --git a/include/Makefile.in b/include/Makefile.in -index a1bf9fbd594..e379070caa9 100644 +index 04537ea72ef..c9154df8a8b 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -786,6 +786,7 @@ SOURCES = \ - windows.media.devices.idl \ windows.media.idl \ + windows.media.speechrecognition.idl \ windows.media.speechsynthesis.idl \ + windows.networking.connectivity.idl \ windows.storage.streams.idl \ @@ -396,5 +396,5 @@ index 00000000000..3ccefca02fa + } +} -- -2.33.0 +2.34.1 diff --git a/patches/windows.networking.connectivity-new-dll/0002-include-Add-windows.networking.idl.patch b/patches/windows.networking.connectivity-new-dll/0002-include-Add-windows.networking.idl.patch index 3cea9a32..61fca6b2 100644 --- a/patches/windows.networking.connectivity-new-dll/0002-include-Add-windows.networking.idl.patch +++ b/patches/windows.networking.connectivity-new-dll/0002-include-Add-windows.networking.idl.patch @@ -1,4 +1,4 @@ -From e98050400335c07a044c28774c802647ff075af5 Mon Sep 17 00:00:00 2001 +From 16f658992146eb464e1b00f9dbb468a21e4fbefb Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Tue, 1 Jun 2021 10:26:28 +1000 Subject: [PATCH] include: Add windows.networking.idl @@ -10,12 +10,12 @@ Subject: [PATCH] include: Add windows.networking.idl create mode 100644 include/windows.networking.idl diff --git a/include/Makefile.in b/include/Makefile.in -index e379070caa9..043f1436216 100644 +index c9154df8a8b..a9c0a023978 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -786,6 +786,7 @@ SOURCES = \ - windows.media.devices.idl \ windows.media.idl \ + windows.media.speechrecognition.idl \ windows.media.speechsynthesis.idl \ + windows.networking.idl \ windows.networking.connectivity.idl \ @@ -116,5 +116,5 @@ index 00000000000..160cd78e540 +} \ No newline at end of file -- -2.33.0 +2.34.1 diff --git a/staging/upstream-commit b/staging/upstream-commit index 3613f784..7a09fdf8 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -d9f3ea328785d4146a095ce2efbdbb7c1f69f1cf +d318f43559dbb0093e22bab1aa0eb9dc01170cc2