Code

gcc 2.x fixes from edward
authorM. Sean Finney <seanius@users.sourceforge.net>
Fri, 3 Jun 2005 13:53:43 +0000 (13:53 +0000)
committerM. Sean Finney <seanius@users.sourceforge.net>
Fri, 3 Jun 2005 13:53:43 +0000 (13:53 +0000)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1188 f882894a-f735-0410-b71e-b25c423dba1c

plugins/check_procs.c

index 671190ca092571b3fdedd4699bc22c58121b4235..dbd07aa44524120cc302f27bf1ebc7fb05b87fc0 100644 (file)
@@ -94,7 +94,7 @@ main (int argc, char **argv)
        int procseconds = 0;
        float procpcpu = 0;
        char procstat[8];
-       char procetime[MAX_INPUT_BUFFER];
+       char procetime[MAX_INPUT_BUFFER] = { '\0' };
        char *procargs;
        char *temp_string;
 
@@ -108,12 +108,10 @@ main (int argc, char **argv)
        int expected_cols = PS_COLS - 1;
        int warn = 0; /* number of processes in warn state */
        int crit = 0; /* number of processes in crit state */
-       procetime[0]='\0'; /* keep this clean because -vvv always prints it */
        int i = 0;
-
        int result = STATE_UNKNOWN;
 
-       //setlocale (LC_ALL, "");
+       setlocale (LC_ALL, "");
        bindtextdomain (PACKAGE, LOCALEDIR);
        textdomain (PACKAGE);
 
@@ -178,11 +176,10 @@ main (int argc, char **argv)
                        strip (procargs);
 
                        /* Some ps return full pathname for command. This removes path */
-                       temp_string = strtok ((char *)procprog, "/");
-                       while (temp_string) {
-                               strcpy(procprog, temp_string);
-                               temp_string = strtok (NULL, "/");
-                       }
+#ifdef HAVE_BASENAME
+                       temp_string = strdup(procprog);
+                       procprog = basename(temp_string);
+#endif /* HAVE_BASENAME */
 
                        /* we need to convert the elapsed time to seconds */
                        procseconds = convert_to_seconds(procetime);
@@ -643,6 +640,9 @@ convert_to_seconds(char *etime) {
                (minutes * 60) +
                seconds;
 
+       if (verbose >= 3 && metric == METRIC_ELAPSED) {
+                       printf("seconds: %d\n", total);
+       }
        return total;
 }