summaryrefslogtreecommitdiffstats
path: root/plugins/check_hpjd.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/check_hpjd.c')
-rw-r--r--plugins/check_hpjd.c28
1 files changed, 9 insertions, 19 deletions
diff --git a/plugins/check_hpjd.c b/plugins/check_hpjd.c
index 8a60ce8..f37b2ba 100644
--- a/plugins/check_hpjd.c
+++ b/plugins/check_hpjd.c
@@ -98,6 +98,7 @@ main (int argc, char **argv)
98 98
99 errmsg = malloc(MAX_INPUT_BUFFER); 99 errmsg = malloc(MAX_INPUT_BUFFER);
100 100
101 np_set_mynames(argv[0], "HPJD");
101 setlocale (LC_ALL, ""); 102 setlocale (LC_ALL, "");
102 bindtextdomain (PACKAGE, LOCALEDIR); 103 bindtextdomain (PACKAGE, LOCALEDIR);
103 textdomain (PACKAGE); 104 textdomain (PACKAGE);
@@ -127,15 +128,12 @@ main (int argc, char **argv)
127 128
128 /* run the command */ 129 /* run the command */
129 child_process = spopen (command_line); 130 child_process = spopen (command_line);
130 if (child_process == NULL) { 131 if (child_process == NULL)
131 printf (_("Could not open pipe: %s\n"), command_line); 132 np_die(STATE_UNKNOWN, _("Could not open pipe: %s"), command_line);
132 return STATE_UNKNOWN;
133 }
134 133
135 child_stderr = fdopen (child_stderr_array[fileno (child_process)], "r"); 134 child_stderr = fdopen (child_stderr_array[fileno (child_process)], "r");
136 if (child_stderr == NULL) { 135 if (child_stderr == NULL)
137 printf (_("Could not open stderr for %s\n"), command_line); 136 printf (_("Could not open stderr for %s\n"), command_line);
138 }
139 137
140 result = STATE_OK; 138 result = STATE_OK;
141 139
@@ -286,21 +284,13 @@ main (int argc, char **argv)
286 } 284 }
287 285
288 if (result == STATE_OK) 286 if (result == STATE_OK)
289 printf (_("Printer ok - (%s)\n"), display_message); 287 np_die(STATE_OK, _("Printer ok - (%s)"), display_message);
290
291 else if (result == STATE_UNKNOWN) {
292
293 printf ("%s\n", errmsg);
294
295 /* if printer could not be reached, escalate to critical */
296 if (strstr (errmsg, "Timeout"))
297 result = STATE_CRITICAL;
298 }
299
300 else if (result == STATE_WARNING) 288 else if (result == STATE_WARNING)
301 printf ("%s (%s)\n", errmsg, display_message); 289 np_die(STATE_WARNING, "%s (%s)\n", errmsg, display_message);
302 290
303 return result; 291 /* if printer could not be reached, escalate to critical */
292 np_die(strstr(errmsg, "Timeout") ? STATE_CRITICAL : STATE_UNKNOWN,
293 "%s", errmsg);
304} 294}
305 295
306 296