1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-04-18 19:48:05 -05:00

Report an error if deleting a random seed file fails.

(This has also required me to add a currently unused nonfatal() to
PuTTYgen, since although PuTTYgen won't actually try to delete
putty.rnd, it does link in winstore.c as a whole.)

[originally from svn r9957]
This commit is contained in:
Simon Tatham 2013-07-22 07:11:44 +00:00
parent 54693d4079
commit 888804eef7
2 changed files with 20 additions and 1 deletions

View File

@ -41,6 +41,22 @@ void modalfatalbox(char *fmt, ...)
exit(1); exit(1);
} }
/*
* Print a non-fatal message box and do not exit.
*/
void nonfatal(char *fmt, ...)
{
va_list ap;
char *stuff;
va_start(ap, fmt);
stuff = dupvprintf(fmt, ap);
va_end(ap);
MessageBox(NULL, stuff, "PuTTYgen Error",
MB_SYSTEMMODAL | MB_ICONERROR | MB_OK);
sfree(stuff);
}
/* ---------------------------------------------------------------------- /* ----------------------------------------------------------------------
* Progress report code. This is really horrible :-) * Progress report code. This is really horrible :-)
*/ */

View File

@ -456,7 +456,10 @@ enum { DEL, OPEN_R, OPEN_W };
static int try_random_seed(char const *path, int action, HANDLE *ret) static int try_random_seed(char const *path, int action, HANDLE *ret)
{ {
if (action == DEL) { if (action == DEL) {
remove(path); if (!DeleteFile(path) && GetLastError() != ERROR_FILE_NOT_FOUND) {
nonfatal("Unable to delete '%s': %s", path,
win_strerror(GetLastError()));
}
*ret = INVALID_HANDLE_VALUE; *ret = INVALID_HANDLE_VALUE;
return FALSE; /* so we'll do the next ones too */ return FALSE; /* so we'll do the next ones too */
} }