Fix a stupid thinko, and fix killall to cope with the updated
authorEric Andersen <andersen@codepoet.org>
Thu, 5 Jul 2001 16:27:34 +0000 (16:27 -0000)
committerEric Andersen <andersen@codepoet.org>
Thu, 5 Jul 2001 16:27:34 +0000 (16:27 -0000)
find_pid_by_name() interface
 -Erik

kill.c
libbb/find_pid_by_name.c
procps/kill.c

diff --git a/kill.c b/kill.c
index fb3d7221315f1fa0b4e27a76e7dc806764bfc2be..8745f63c1940acd6b75c7fc17dd1eb42ad82bd8d 100644 (file)
--- a/kill.c
+++ b/kill.c
@@ -218,9 +218,9 @@ extern int kill_main(int argc, char **argv)
                        pid_t* pidList;
 
                        pidList = find_pid_by_name( *argv);
-                       if (!pidList) {
+                       if (!pidList || *pidList<=0) {
                                all_found = FALSE;
-                               error_msg( "%s: no process killed", *argv);
+                               error_msg_and_die( "%s: no process killed", *argv);
                        }
 
                        for(; pidList && *pidList!=0; pidList++) {
index 57decc69c1c5dbe4e3fdd0714248cc34b1f9d2c5..7f39dd41c8d66452afa039c6fc0311205f1a2b6d 100644 (file)
@@ -106,6 +106,7 @@ extern pid_t* find_pid_by_name( char* pidName)
                pidList=xrealloc( pidList, sizeof(pid_t));
                pidList[0]=1;
        } else {
+               pidList=xrealloc( pidList, sizeof(pid_t));
                pidList[0]=-1;
        }
 
@@ -181,6 +182,7 @@ extern pid_t* find_pid_by_name( char* pidName)
                pidList=xrealloc( pidList, sizeof(pid_t));
                pidList[0]=1;
        } else {
+               pidList=xrealloc( pidList, sizeof(pid_t));
                pidList[0]=-1;
        }
        return pidList;
index fb3d7221315f1fa0b4e27a76e7dc806764bfc2be..8745f63c1940acd6b75c7fc17dd1eb42ad82bd8d 100644 (file)
@@ -218,9 +218,9 @@ extern int kill_main(int argc, char **argv)
                        pid_t* pidList;
 
                        pidList = find_pid_by_name( *argv);
-                       if (!pidList) {
+                       if (!pidList || *pidList<=0) {
                                all_found = FALSE;
-                               error_msg( "%s: no process killed", *argv);
+                               error_msg_and_die( "%s: no process killed", *argv);
                        }
 
                        for(; pidList && *pidList!=0; pidList++) {