Apply vodz' last_patch52
diff --git a/procps/kill.c b/procps/kill.c
index 5f2f661..2ef87ae 100644
--- a/procps/kill.c
+++ b/procps/kill.c
@@ -40,6 +40,7 @@
 {
 	int whichApp, sig = SIGTERM, quiet;
 	const char *name;
+	int errors = 0;
 
 #ifdef CONFIG_KILLALL
 	/* Figure out what we are trying to do here */
@@ -111,37 +112,33 @@
 				perror_msg_and_die( "Bad PID");
 			pid = strtol(*argv, NULL, 0);
 			if (kill(pid, sig) != 0) {
-				perror_msg_and_die( "Could not kill pid '%d'", pid);
+				perror_msg( "Could not kill pid '%d'", pid);
+				errors++;
 			}
 			argv++;
 		}
+
 	} 
 #ifdef CONFIG_KILLALL
 	else {
-		int all_found = TRUE;
 		pid_t myPid=getpid();
 		/* Looks like they want to do a killall.  Do that */
 		while (--argc >= 0) {
 			long* pidList;
 
-			pidList = find_pid_by_name( *argv);
+			pidList = find_pid_by_name(*argv);
 			if (!pidList || *pidList<=0) {
-				all_found = FALSE;
-				if (quiet) {
-					exit(EXIT_FAILURE);
+				errors++;
+				if (quiet==0)
+					error_msg( "%s: no process killed", *argv);
 				} else {
-					error_msg_and_die( "%s: no process killed", *argv);
-				}
-			}
-
-			for(; pidList && *pidList!=0; pidList++) {
+			    for(; *pidList!=0; pidList++) {
 				if (*pidList==myPid)
 					continue;
 				if (kill(*pidList, sig) != 0) {
-					if (quiet) {
-						exit(EXIT_FAILURE);
-					} else {
-						perror_msg_and_die( "Could not kill pid '%d'", *pidList);
+					errors++;
+					if (quiet==0)
+						perror_msg( "Could not kill pid '%d'", *pidList);
 					}
 				}
 			}
@@ -150,10 +147,7 @@
 			 * upon exit, so we can save a byte or two */
 			argv++;
 		}
-		if (! all_found)
-			return EXIT_FAILURE;
 	}
 #endif
-
-	return EXIT_SUCCESS;
+	return errors;
 }