Code

fixes from richard brodie (tracker id 1216576)
[nagiosplug.git] / plugins / popen.c
index 94ad583f78770dfac294e5ee3b91376c0b2b3fc4..062cf274a476fe8a775c2c562c777747a046f9f3 100644 (file)
@@ -114,7 +114,7 @@ spopen (const char *cmdstring)
        argv = malloc (sizeof(char*)*argc);
        
        if (argv == NULL) {
-               printf ("Could not malloc argv array in popen()\n");
+               printf (_("Could not malloc argv array in popen()\n"));
                return NULL;
        }
 
@@ -124,7 +124,7 @@ spopen (const char *cmdstring)
                str += strspn (str, " \t\r\n"); /* trim any leading whitespace */
 
                if (i >= argc - 2) {
-                       printf ("CRITICAL - You need more args!!!\n");
+                       printf (_("CRITICAL - You need more args!!!\n"));
                        return (NULL);
                }
 
@@ -239,17 +239,23 @@ static int openmax = 0;
 #define        OPEN_MAX_GUESS  256                     /* if OPEN_MAX is indeterminate */
                                /* no guarantee this is adequate */
 
+
 void
 popen_timeout_alarm_handler (int signo)
 {
+       int fh;
        if (signo == SIGALRM) {
-               kill (childpid[fileno (child_process)], SIGKILL);
-               printf ("CRITICAL - Plugin timed out after %d seconds\n",
+               fh=fileno (child_process);
+               if(fh >= 0){
+                       kill (childpid[fh], SIGKILL);
+               }
+               printf (_("CRITICAL - Plugin timed out after %d seconds\n"),
                                                timeout_interval);
                exit (STATE_CRITICAL);
        }
 }
 
+
 int
 open_max (void)
 {
@@ -259,14 +265,13 @@ open_max (void)
                        if (errno == 0)
                                openmax = OPEN_MAX_GUESS;       /* it's indeterminate */
                        else
-                               err_sys ("sysconf error for _SC_OPEN_MAX");
+                               err_sys (_("sysconf error for _SC_OPEN_MAX"));
                }
        }
        return (openmax);
 }
 
 
-
 /* Fatal error related to a system call.
  * Print a message and die. */
 
@@ -309,4 +314,3 @@ rtrim (char *str, const char *tok)
        }
        return str;
 }
-