-static void get_seedpath(void) {
- HKEY rkey;
- DWORD type, size;
-
- size = sizeof(seedpath);
-
- if (RegOpenKey(HKEY_CURRENT_USER, PUTTY_REG_POS, &rkey)==ERROR_SUCCESS) {
- int ret = RegQueryValueEx(rkey, "RandSeedFile",
- 0, &type, seedpath, &size);
- if (ret != ERROR_SUCCESS || type != REG_SZ)
- seedpath[0] = '\0';
- RegCloseKey(rkey);
- } else
- seedpath[0] = '\0';
-
- if (!seedpath[0]) {
- int len, ret;
-
- len = GetEnvironmentVariable("HOMEDRIVE", seedpath, sizeof(seedpath));
- ret = GetEnvironmentVariable("HOMEPATH", seedpath+len,
- sizeof(seedpath)-len);
- if (ret == 0) { /* probably win95; store in \WINDOWS */
- GetWindowsDirectory(seedpath, sizeof(seedpath));
- len = strlen(seedpath);
- } else
- len += ret;
- strcpy(seedpath+len, "\\PUTTY.RND");
- }
-}