if (allocate) {
- if ((handle = enum_settings_start()) == NULL)
- return;
-
buflen = bufsize = 0;
buffer = NULL;
- do {
- ret = enum_settings_next(handle, otherbuf, sizeof(otherbuf));
- if (ret) {
- int len = strlen(otherbuf) + 1;
- if (bufsize < buflen + len) {
- bufsize = buflen + len + 2048;
- buffer = srealloc(buffer, bufsize);
+ if ((handle = enum_settings_start())) {
+ do {
+ ret = enum_settings_next(handle, otherbuf, sizeof(otherbuf));
+ if (ret) {
+ int len = strlen(otherbuf) + 1;
+ if (bufsize < buflen + len) {
+ bufsize = buflen + len + 2048;
+ buffer = srealloc(buffer, bufsize);
+ }
+ strcpy(buffer + buflen, otherbuf);
+ buflen += strlen(buffer + buflen) + 1;
}
- strcpy(buffer + buflen, otherbuf);
- buflen += strlen(buffer + buflen) + 1;
- }
- } while (ret);
- enum_settings_finish(handle);
+ } while (ret);
+ enum_settings_finish(handle);
+ }
buffer = srealloc(buffer, buflen + 1);
buffer[buflen] = '\0';
struct enumsettings *ret;
HKEY key;
- if (RegCreateKey(HKEY_CURRENT_USER, puttystr, &key) != ERROR_SUCCESS)
+ if (RegOpenKey(HKEY_CURRENT_USER, puttystr, &key) != ERROR_SUCCESS)
return NULL;
ret = smalloc(sizeof(*ret));
hostkey_regname(regname, hostname, port, keytype);
- if (RegCreateKey(HKEY_CURRENT_USER, PUTTY_REG_POS "\\SshHostKeys",
- &rkey) != ERROR_SUCCESS)
+ if (RegOpenKey(HKEY_CURRENT_USER, PUTTY_REG_POS "\\SshHostKeys",
+ &rkey) != ERROR_SUCCESS)
return 1; /* key does not exist in registry */
readlen = len;