diff options
author | Werner Koch <[email protected]> | 2005-02-04 10:18:46 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2005-02-04 10:18:46 +0000 |
commit | e011ee08e285adfc2b0d319482a76086b96fa5d5 (patch) | |
tree | 87c04978bc50696f0c91a0aa046fb91ff623d294 /util/w32reg.c | |
parent | * libcurl.m4: More comments. (diff) | |
download | gnupg-e011ee08e285adfc2b0d319482a76086b96fa5d5.tar.gz gnupg-e011ee08e285adfc2b0d319482a76086b96fa5d5.zip |
(GNUPG_CHECK_GNUMAKE): Removed. Not needed for
decent automakes.
Diffstat (limited to '')
-rw-r--r-- | util/w32reg.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/util/w32reg.c b/util/w32reg.c index edc77ced9..f8e81b478 100644 --- a/util/w32reg.c +++ b/util/w32reg.c @@ -1,5 +1,5 @@ /* w32reg.c - MS-Windows Registry access - * Copyright (C) 1999, 2002 Free Software Foundation, Inc. + * Copyright (C) 1999, 2002, 2005 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -77,14 +77,22 @@ read_w32_registry_string( const char *root, const char *dir, const char *name ) { if (root) return NULL; /* no need for a RegClose, so return direct */ - /* It seems to be common practise to fall back to HLM. */ + /* It seems to be common practise to fall back to HKLM. */ if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, dir, 0, KEY_READ, &key_handle) ) return NULL; /* still no need for a RegClose, so return direct */ } nbytes = 1; - if( RegQueryValueEx( key_handle, name, 0, NULL, NULL, &nbytes ) ) - goto leave; + if( RegQueryValueEx( key_handle, name, 0, NULL, NULL, &nbytes ) ) { + if (root) + goto leave; + /* Try to fallback to HKLM also vor a missing value. */ + RegCloseKey (key_handle); + if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, dir, 0, KEY_READ, &key_handle) ) + return NULL; /* Nope. */ + if (RegQueryValueEx( key_handle, name, 0, NULL, NULL, &nbytes)) + goto leave; + } result = malloc( (n1=nbytes+1) ); if( !result ) goto leave; |