1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-06-30 11:02:48 -05:00

Add a nonfatal() function everywhere, to be used for reporting things

that the user really ought to know but that are not actually fatal to
continued operation of PuTTY or a single network connection.

[originally from svn r9932]
This commit is contained in:
Simon Tatham
2013-07-19 17:44:28 +00:00
parent 1d21346d4c
commit acf38797eb
10 changed files with 118 additions and 0 deletions

View File

@ -3389,6 +3389,13 @@ void fatal_message_box(void *window, char *msg)
"OK", 'o', 1, 1, NULL);
}
void nonfatal_message_box(void *window, char *msg)
{
messagebox(window, "PuTTY Error", msg,
string_width("REASONABLY LONG LINE OF TEXT FOR BASIC SANITY"),
"OK", 'o', 1, 1, NULL);
}
void fatalbox(char *p, ...)
{
va_list ap;
@ -3401,6 +3408,17 @@ void fatalbox(char *p, ...)
cleanup_exit(1);
}
void nonfatal(char *p, ...)
{
va_list ap;
char *msg;
va_start(ap, p);
msg = dupvprintf(p, ap);
va_end(ap);
fatal_message_box(NULL, msg);
sfree(msg);
}
static GtkWidget *aboutbox = NULL;
static void about_close_clicked(GtkButton *button, gpointer data)

View File

@ -88,6 +88,7 @@ void *get_window(void *frontend); /* void * to avoid depending on gtk.h */
int do_config_box(const char *title, Conf *conf,
int midsession, int protcfginfo);
void fatal_message_box(void *window, char *msg);
void nonfatal_message_box(void *window, char *msg);
void about_box(void *window);
void *eventlogstuff_new(void);
void showeventlog(void *estuff, void *parentwin);

View File

@ -63,6 +63,22 @@ void modalfatalbox(char *p, ...)
}
cleanup_exit(1);
}
void nonfatal(char *p, ...)
{
struct termios cf;
va_list ap;
premsg(&cf);
fprintf(stderr, "ERROR: ");
va_start(ap, p);
vfprintf(stderr, p, ap);
va_end(ap);
fputc('\n', stderr);
postmsg(&cf);
if (logctx) {
log_free(logctx);
logctx = NULL;
}
}
void connection_fatal(void *frontend, char *p, ...)
{
struct termios cf;