diff --git a/patches/ntdll-RtlQueryRegistryValuesEx/0001-ntdll-Implement-RtlQueryRegistryValuesEx.patch b/patches/ntdll-RtlQueryRegistryValuesEx/0001-ntdll-Implement-RtlQueryRegistryValuesEx.patch new file mode 100644 index 00000000..e0c22795 --- /dev/null +++ b/patches/ntdll-RtlQueryRegistryValuesEx/0001-ntdll-Implement-RtlQueryRegistryValuesEx.patch @@ -0,0 +1,49 @@ +From a8a21efb93186835c4ce4ef369cb61faaf9d919c Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Sun, 24 May 2020 18:34:43 +1000 +Subject: [PATCH] ntdll: Implement RtlQueryRegistryValuesEx + +Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46969 +Signed-off-by: Alistair Leslie-Hughes +--- + dlls/ntdll/ntdll.spec | 1 + + dlls/ntdll/reg.c | 11 +++++++++++ + 2 files changed, 12 insertions(+) + +diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec +index 36c6a44f3862..4f72c70ff097 100644 +--- a/dlls/ntdll/ntdll.spec ++++ b/dlls/ntdll/ntdll.spec +@@ -884,6 +884,7 @@ + @ stub RtlQueryPropertyNames + @ stub RtlQueryPropertySet + @ stdcall RtlQueryRegistryValues(long ptr ptr ptr ptr) ++@ stdcall RtlQueryRegistryValuesEx(long ptr ptr ptr ptr) + @ stub RtlQuerySecurityObject + @ stub RtlQueryTagHeap + @ stdcall RtlQueryTimeZoneInformation(ptr) +diff --git a/dlls/ntdll/reg.c b/dlls/ntdll/reg.c +index 46d4c7029a3e..3bbe0a7b6cb9 100644 +--- a/dlls/ntdll/reg.c ++++ b/dlls/ntdll/reg.c +@@ -1391,6 +1391,17 @@ out: + return ret; + } + ++/************************************************************************* ++ * RtlQueryRegistryValuesEx [NTDLL.@] ++ */ ++NTSTATUS WINAPI RtlQueryRegistryValuesEx(IN ULONG RelativeTo, IN PCWSTR path, ++ IN PRTL_QUERY_REGISTRY_TABLE QueryTable, void *context, ++ void *Environment) ++{ ++ return RtlQueryRegistryValuesEx (RelativeTo, path, QueryTable, context, Environment); ++} ++ ++ + /************************************************************************* + * RtlCheckRegistryKey [NTDLL.@] + * +-- +2.26.2 + diff --git a/patches/ntdll-RtlQueryRegistryValuesEx/definition b/patches/ntdll-RtlQueryRegistryValuesEx/definition new file mode 100644 index 00000000..1f1b2d42 --- /dev/null +++ b/patches/ntdll-RtlQueryRegistryValuesEx/definition @@ -0,0 +1 @@ +Fixes: [46969] ntdll: Implement RtlQueryRegistryValuesEx diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 1b40955f..a22405c1 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -194,6 +194,7 @@ patch_enable_all () enable_ntdll_ProcessQuotaLimits="$1" enable_ntdll_RtlCreateUserThread="$1" enable_ntdll_RtlQueryPackageIdentity="$1" + enable_ntdll_RtlQueryRegistryValuesEx="$1" enable_ntdll_Serial_Port_Detection="$1" enable_ntdll_Status_Mapping="$1" enable_ntdll_Syscall_Emulation="$1" @@ -689,6 +690,9 @@ patch_enable () ntdll-RtlQueryPackageIdentity) enable_ntdll_RtlQueryPackageIdentity="$2" ;; + ntdll-RtlQueryRegistryValuesEx) + enable_ntdll_RtlQueryRegistryValuesEx="$2" + ;; ntdll-Serial_Port_Detection) enable_ntdll_Serial_Port_Detection="$2" ;; @@ -4751,6 +4755,21 @@ if test "$enable_ntdll_RtlQueryPackageIdentity" -eq 1; then ) >> "$patchlist" fi +# Patchset ntdll-RtlQueryRegistryValuesEx +# | +# | This patchset fixes the following Wine bugs: +# | * [#46969] ntdll: Implement RtlQueryRegistryValuesEx +# | +# | Modified files: +# | * dlls/ntdll/ntdll.spec, dlls/ntdll/reg.c +# | +if test "$enable_ntdll_RtlQueryRegistryValuesEx" -eq 1; then + patch_apply ntdll-RtlQueryRegistryValuesEx/0001-ntdll-Implement-RtlQueryRegistryValuesEx.patch + ( + printf '%s\n' '+ { "Alistair Leslie-Hughes", "ntdll: Implement RtlQueryRegistryValuesEx.", 1 },'; + ) >> "$patchlist" +fi + # Patchset ntdll-Serial_Port_Detection # | # | This patchset fixes the following Wine bugs: