summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2022-08-02 14:53:31 +0200
committerWerner Koch <wk@gnupg.org>2022-08-02 14:53:31 +0200
commit745d333cf7b5b6fee62e3b26c8a2ccc004e017da (patch)
treefc67d056a9628e627b0906490ca671fdfb48c32d
parent25701f105b947500f920eb5a13e328f8f7843d38 (diff)
downloadlibgpg-error-745d333cf7b5b6fee62e3b26c8a2ccc004e017da.tar.gz
w32: Convert REG_DWORD values to a string.
* src/w32-reg.c (_gpgrt_w32_reg_query_string): Handle REG_DWORD
-rw-r--r--src/w32-reg.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/w32-reg.c b/src/w32-reg.c
index 5510df8..b1134a5 100644
--- a/src/w32-reg.c
+++ b/src/w32-reg.c
@@ -145,6 +145,21 @@ _gpgrt_w32_reg_query_string (const char *root, const char *dir,
xfree (tmp);
}
}
+ else if (type == REG_DWORD && nbytes == sizeof (DWORD))
+ {
+ char *tmp;
+ DWORD dummy;
+
+ memcpy (&dummy, result, nbytes);
+ tmp = _gpgrt_estream_bsprintf ("%u", (unsigned int)dummy);
+ if (tmp)
+ {
+ xfree (result);
+ result = tmp;
+ }
+ else
+ _gpgrt_log_info ("warning: malloc failed while reading registry key\n");
+ }
leave:
RegCloseKey (key_handle);