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
Родитель 54693d4079
Коммит 888804eef7
2 изменённых файлов: 20 добавлений и 1 удалений

Просмотреть файл

@ -41,6 +41,22 @@ void modalfatalbox(char *fmt, ...)
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 :-)
*/

Просмотреть файл

@ -456,7 +456,10 @@ enum { DEL, OPEN_R, OPEN_W };
static int try_random_seed(char const *path, int action, HANDLE *ret)
{
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;
return FALSE; /* so we'll do the next ones too */
}