svn commit: trunk/busybox/procps

vda at busybox.net vda at busybox.net
Sun May 6 15:48:56 PDT 2007


Author: vda
Date: 2007-05-06 15:48:55 -0700 (Sun, 06 May 2007)
New Revision: 18567

Log:
kill: fix recent breakage of vda, also make code smaller by 21 bytes.


Modified:
   trunk/busybox/procps/kill.c


Changeset:
Modified: trunk/busybox/procps/kill.c
===================================================================
--- trunk/busybox/procps/kill.c	2007-05-06 14:15:42 UTC (rev 18566)
+++ trunk/busybox/procps/kill.c	2007-05-06 22:48:55 UTC (rev 18567)
@@ -1,6 +1,6 @@
 /* vi: set sw=4 ts=4: */
 /*
- * Mini kill/killall implementation for busybox
+ * Mini kill/killall[5] implementation for busybox
  *
  * Copyright (C) 1995, 1996 by Bruce Perens <bruce at pixar.com>.
  * Copyright (C) 1999-2004 by Erik Andersen <andersen at codepoet.org>
@@ -30,10 +30,17 @@
 	char *arg;
 	pid_t pid;
 	int signo = SIGTERM, errors = 0, quiet = 0;
-	const int killall = (ENABLE_KILLALL && argv[0][4] == 'a'
-	               && (!ENABLE_KILLALL5 || argv[0][7] != '5'));
-	const int killall5 = (ENABLE_KILLALL5 && argv[0][4] == 'a'
-	                  && (!ENABLE_KILLALL || argv[0][7] == '5'));
+#if !ENABLE_KILLALL && !ENABLE_KILLALL5
+#define killall 0
+#define killall5 0
+#else
+/* How to determine who we are? find 3rd char from the end:
+ * kill, killall, killall5
+ *  ^i       ^a        ^l */
+	const char char3 = argv[0][strlen(argv[0]) - 3];
+#define killall (ENABLE_KILLALL && char3 == 'a')
+#define killall5 (ENABLE_KILLALL5 && char3 == 'l')
+#endif
 
 	/* Parse any options */
 	argc--;



More information about the busybox-cvs mailing list