* generator.
*/
-#include <windows.h>
#include <stdio.h>
#include "putty.h"
#include "storage.h"
/*
- * GetSystemPowerStatus function.
- */
-typedef BOOL(WINAPI * gsps_t) (LPSYSTEM_POWER_STATUS);
-static gsps_t gsps;
-
-/*
* This function is called once, at PuTTY startup, and will do some
* seriously silly things like listing directories and getting disk
* free space and a process snapshot.
HANDLE srch;
WIN32_FIND_DATA finddata;
char winpath[MAX_PATH + 3];
- HMODULE mod;
GetWindowsDirectory(winpath, sizeof(winpath));
strcat(winpath, "\\*");
}
read_random_seed(func);
-
- gsps = NULL;
- mod = GetModuleHandle("KERNEL32");
- if (mod) {
- gsps = (gsps_t) GetProcAddress(mod, "GetSystemPowerStatus");
- }
+ /* Update the seed immediately, in case another instance uses it. */
+ random_save_seed();
}
void random_save_seed(void)
if (random_active) {
random_get_savedata(&data, &len);
write_random_seed(data, len);
+ sfree(data);
}
}
SYSTEMTIME systime;
DWORD adjust[2];
BOOL rubbish;
- SYSTEM_POWER_STATUS pwrstat;
GetSystemTime(&systime);
func(&systime, sizeof(systime));
GetSystemTimeAdjustment(&adjust[0], &adjust[1], &rubbish);
func(&adjust, sizeof(adjust));
-
- /*
- * Call GetSystemPowerStatus if present.
- */
- if (gsps) {
- if (gsps(&pwrstat))
- func(&pwrstat, sizeof(pwrstat));
- }
}
/*