mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against d318f43559dbb0093e22bab1aa0eb9dc01170cc2.
This commit is contained in:
parent
b5193cb799
commit
b9f7ec5ccf
@ -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?= <michael@fds-team.de>
|
||||
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;
|
||||
}
|
||||
|
@ -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?= <michael@fds-team.de>
|
||||
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
|
||||
|
||||
|
@ -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 <dark.shadow4@web.de>
|
||||
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 <dark.shadow4@web.de>
|
||||
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
|
||||
|
||||
|
@ -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 <dark.shadow4@web.de>
|
||||
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 <dark.shadow4@web.de>
|
||||
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
|
||||
|
||||
|
@ -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" <erich.e.hoover@gmail.com>
|
||||
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 <erich.e.hoover@gmail.com>
|
||||
---
|
||||
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<ARRAY_SIZE(tests); i++) {
|
||||
err_code = 0xdeadbeef;
|
||||
val = p_tr2_sys__Stat(tests[i].path, &err_code);
|
||||
@ -327,7 +330,7 @@ index 495ee9dd6fb..c982be0c10e 100644
|
||||
ok(tests[i].err_code == err_code, "tr2_sys__Lstat(): test %d err_code expect: %d, got %d\n",
|
||||
i+1, tests[i].err_code, err_code);
|
||||
}
|
||||
@@ -1684,8 +1681,8 @@ static void test_tr2_sys__Stat(void)
|
||||
@@ -1688,8 +1685,8 @@ static void test_tr2_sys__Stat(void)
|
||||
ok(ERROR_SUCCESS == err_code, "tr2_sys__Lstat_wchar(): err_code expect ERROR_SUCCESS, got %d\n", err_code);
|
||||
|
||||
if(ret) {
|
||||
@ -338,7 +341,7 @@ index 495ee9dd6fb..c982be0c10e 100644
|
||||
}
|
||||
ok(DeleteFileA("tr2_test_dir/f1"), "expect tr2_test_dir/f1 to exist\n");
|
||||
ok(RemoveDirectoryA("tr2_test_dir"), "expect tr2_test_dir to exist\n");
|
||||
@@ -1914,16 +1911,15 @@ static void test_tr2_sys__Symlink(void)
|
||||
@@ -1918,16 +1915,15 @@ static void test_tr2_sys__Symlink(void)
|
||||
char const *existing_path;
|
||||
char const *new_path;
|
||||
int last_error;
|
||||
@ -363,7 +366,7 @@ index 495ee9dd6fb..c982be0c10e 100644
|
||||
};
|
||||
|
||||
ret = p_tr2_sys__Make_dir("tr2_test_dir");
|
||||
@@ -1948,18 +1944,17 @@ static void test_tr2_sys__Symlink(void)
|
||||
@@ -1952,18 +1948,17 @@ static void test_tr2_sys__Symlink(void)
|
||||
}
|
||||
|
||||
ok(errno == 0xdeadbeef, "tr2_sys__Symlink(): test %d errno expect 0xdeadbeef, got %d\n", i+1, errno);
|
||||
@ -388,7 +391,7 @@ index 495ee9dd6fb..c982be0c10e 100644
|
||||
ret = p_tr2_sys__Remove_dir("tr2_test_dir");
|
||||
ok(ret == 1, "tr2_sys__Remove_dir(): expect 1 got %d\n", ret);
|
||||
}
|
||||
@@ -1973,15 +1968,14 @@ static void test_tr2_sys__Unlink(void)
|
||||
@@ -1977,15 +1972,14 @@ static void test_tr2_sys__Unlink(void)
|
||||
struct {
|
||||
char const *path;
|
||||
int last_error;
|
||||
@ -411,7 +414,7 @@ index 495ee9dd6fb..c982be0c10e 100644
|
||||
};
|
||||
|
||||
GetCurrentDirectoryA(MAX_PATH, current_path);
|
||||
@@ -2010,9 +2004,8 @@ static void test_tr2_sys__Unlink(void)
|
||||
@@ -2014,9 +2008,8 @@ static void test_tr2_sys__Unlink(void)
|
||||
for(i=0; i<ARRAY_SIZE(tests); i++) {
|
||||
errno = 0xdeadbeef;
|
||||
ret = p_tr2_sys__Unlink(tests[i].path);
|
||||
@ -535,5 +538,5 @@ index c79e425190b..f3b98ec4e73 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
2.34.1
|
||||
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "d9f3ea328785d4146a095ce2efbdbb7c1f69f1cf"
|
||||
echo "d318f43559dbb0093e22bab1aa0eb9dc01170cc2"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e695c71722c3ecf8b2666da109dfe172e50f75da Mon Sep 17 00:00:00 2001
|
||||
From 71aba24d166ee16f6ea52d1b63acabccf0532514 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
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 <z.figura12@gmail.com>
|
||||
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
|
||||
|
||||
|
@ -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 <leslie_alistair@hotmail.com>
|
||||
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
|
||||
|
||||
|
@ -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 <leslie_alistair@hotmail.com>
|
||||
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
|
||||
|
||||
|
@ -1 +1 @@
|
||||
d9f3ea328785d4146a095ce2efbdbb7c1f69f1cf
|
||||
d318f43559dbb0093e22bab1aa0eb9dc01170cc2
|
||||
|
Loading…
Reference in New Issue
Block a user