aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/print_dlg.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/print_dlg.c')
-rw-r--r--gtk/print_dlg.c27
1 files changed, 22 insertions, 5 deletions
diff --git a/gtk/print_dlg.c b/gtk/print_dlg.c
index b7a9ecc1c9..c08c686e25 100644
--- a/gtk/print_dlg.c
+++ b/gtk/print_dlg.c
@@ -1,7 +1,7 @@
/* print_dlg.c
* Dialog boxes for printing
*
- * $Id: print_dlg.c,v 1.56 2004/01/21 21:19:33 ulfl Exp $
+ * $Id: print_dlg.c,v 1.57 2004/01/25 00:58:13 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -26,6 +26,8 @@
#include "config.h"
#endif
+#include <string.h>
+
#include <gtk/gtk.h>
#include "globals.h"
@@ -833,13 +835,28 @@ print_ok_cb(GtkWidget *ok_bt, gpointer parent_w)
gtk_widget_destroy(GTK_WIDGET(parent_w));
/* Now print the packets */
- if (!print_packets(&cfile, &print_args)) {
+ switch (print_packets(&cfile, &print_args)) {
+
+ case PP_OK:
+ break;
+
+ case PP_OPEN_ERROR:
if (print_args.to_file)
- simple_dialog(ESD_TYPE_WARN, NULL,
- file_write_error_message(errno), print_args.dest);
+ simple_dialog(ESD_TYPE_CRIT, NULL,
+ file_open_error_message(errno, TRUE), print_args.dest);
else
- simple_dialog(ESD_TYPE_WARN, NULL, "Couldn't run print command %s.",
+ simple_dialog(ESD_TYPE_CRIT, NULL, "Couldn't run print command %s.",
print_args.dest);
+ break;
+
+ case PP_WRITE_ERROR:
+ if (print_args.to_file)
+ simple_dialog(ESD_TYPE_CRIT, NULL,
+ file_write_error_message(errno), print_args.dest);
+ else
+ simple_dialog(ESD_TYPE_CRIT, NULL,
+ "Error writing to print command: %s", strerror(errno));
+ break;
}
#ifdef _WIN32