[newlib-cygwin] Cygwin: Drop use of loadlib.h in regtool
Jon TURNEY
jturney@sourceware.org
Mon Jun 6 10:41:24 GMT 2022
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=f36dd402753eacc1b0774a240c3fb6a33515ed30
commit f36dd402753eacc1b0774a240c3fb6a33515ed30
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Fri Apr 30 14:33:21 2021 +0100
Cygwin: Drop use of loadlib.h in regtool
Link directly with RegDeleteKeyExW(), available since Vista.
(It's unclear the LoadLibrary wrapper was ever doing anything useful
here, as (i) DLL lookup in PATH was avoided as advapi32 is already
loaded into the process, and (ii) advapi32 is a 'known DLL' which is
only ever loaded from system directory)
Diff:
---
winsup/utils/regtool.cc | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/winsup/utils/regtool.cc b/winsup/utils/regtool.cc
index fd2dd0590..e919185ae 100644
--- a/winsup/utils/regtool.cc
+++ b/winsup/utils/regtool.cc
@@ -16,7 +16,6 @@ details. */
#include <windows.h>
#include <sys/cygwin.h>
#include <cygwin/version.h>
-#include "loadlib.h"
#define DEFAULT_KEY_SEPARATOR '\\'
@@ -589,10 +588,6 @@ cmd_add ()
return 0;
}
-extern "C" {
- LONG WINAPI (*regDeleteKeyEx)(HKEY, LPCWSTR, REGSAM, DWORD);
-}
-
int
cmd_remove ()
{
@@ -600,13 +595,7 @@ cmd_remove ()
find_key (2, KEY_ALL_ACCESS);
if (wow64)
- {
- HMODULE mod = LoadLibrary ("advapi32.dll");
- if (mod)
- regDeleteKeyEx = (LONG WINAPI (*)(HKEY, LPCWSTR, REGSAM, DWORD)) GetProcAddress (mod, "RegDeleteKeyExW");
- }
- if (regDeleteKeyEx)
- rv = (*regDeleteKeyEx) (key, value, wow64, 0);
+ rv = RegDeleteKeyExW (key, value, wow64, 0);
else
rv = RegDeleteKeyW (key, value);
if (rv != ERROR_SUCCESS)
More information about the Cygwin-cvs
mailing list