Fix killall
authorErik Andersen <andersen@codepoet.org>
Tue, 18 Apr 2000 18:38:29 +0000 (18:38 -0000)
committerErik Andersen <andersen@codepoet.org>
Tue, 18 Apr 2000 18:38:29 +0000 (18:38 -0000)
 -Erik

utility.c

index 571d1f5e20d57dbae854354f27f7666fefe55dc2..b844c3b5241aa68af075455e93125cce9f9bb5b0 100644 (file)
--- a/utility.c
+++ b/utility.c
@@ -1343,6 +1343,7 @@ extern pid_t* findPidByName( char* pidName)
                FILE *status;
                char filename[256];
                char buffer[256];
+               char* p;
 
                /* If it isn't a number, we don't want it */
                if (!isdigit(*next->d_name))
@@ -1357,7 +1358,8 @@ extern pid_t* findPidByName( char* pidName)
                fgets(buffer, 256, status);
                fclose(status);
 
-               if ((strstr(buffer, pidName) != NULL)) {
+               if (((p=strstr(buffer, pidName)) != NULL)
+                               && (strncmp(p, pidName, strlen(pidName)) != 0)) {
                        pidList=realloc( pidList, sizeof(pid_t) * (i+2));
                        if (pidList==NULL)
                                fatalError("out of memory\n");