mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-18 15:09:32 +08:00
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)
This commit is contained in:
parent
f344134a19
commit
f36dd40275
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user