summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2002-07-23 23:45:11 +0000
committerEric Andersen <andersen@codepoet.org>2002-07-23 23:45:11 +0000
commit80cd3cfdbc924b1a032b0634be8930af3daf791f (patch)
tree68e6b17be6a05a9a75eb69984ffa8c5d6ec2f3e3
parentf2f26e7fdddfb92a8ef3654e14092dcbe3420331 (diff)
downloadbusybox-w32-80cd3cfdbc924b1a032b0634be8930af3daf791f.tar.gz
busybox-w32-80cd3cfdbc924b1a032b0634be8930af3daf791f.tar.bz2
busybox-w32-80cd3cfdbc924b1a032b0634be8930af3daf791f.zip
Fix indentation. Support killall -q, for pcmcia-cs
-Erik
-rw-r--r--procps/kill.c88
1 files changed, 52 insertions, 36 deletions
diff --git a/procps/kill.c b/procps/kill.c
index ff00ea875..5f2f6618f 100644
--- a/procps/kill.c
+++ b/procps/kill.c
@@ -38,7 +38,7 @@ static const int KILLALL = 1;
38 38
39extern int kill_main(int argc, char **argv) 39extern int kill_main(int argc, char **argv)
40{ 40{
41 int whichApp, sig = SIGTERM; 41 int whichApp, sig = SIGTERM, quiet;
42 const char *name; 42 const char *name;
43 43
44#ifdef CONFIG_KILLALL 44#ifdef CONFIG_KILLALL
@@ -48,6 +48,7 @@ extern int kill_main(int argc, char **argv)
48 whichApp = KILL; 48 whichApp = KILL;
49#endif 49#endif
50 50
51 quiet=0;
51 argc--; 52 argc--;
52 argv++; 53 argv++;
53 /* Parse any options */ 54 /* Parse any options */
@@ -57,44 +58,49 @@ extern int kill_main(int argc, char **argv)
57 while (argc > 0 && **argv == '-') { 58 while (argc > 0 && **argv == '-') {
58 while (*++(*argv)) { 59 while (*++(*argv)) {
59 switch (**argv) { 60 switch (**argv) {
60 case 'l': 61#ifdef CONFIG_KILLALL
61 if(argc>1) { 62 case 'q':
62 for(argv++; *argv; argv++) { 63 quiet++;
63 name = u_signal_names(*argv, &sig, -1); 64 break;
64 if(name!=NULL) 65#endif
65 printf("%s\n", name); 66 case 'l':
66 } 67 if(argc>1) {
67 } else { 68 for(argv++; *argv; argv++) {
68 int col = 0; 69 name = u_signal_names(*argv, &sig, -1);
69 for(sig=1; sig < NSIG; sig++) { 70 if(name!=NULL)
70 name = u_signal_names(0, &sig, 1); 71 printf("%s\n", name);
71 if(name==NULL) /* unnamed */
72 continue;
73 col += printf("%2d) %-16s", sig, name);
74 if (col > 60) {
75 printf("\n");
76 col = 0;
77 } 72 }
78 } 73 } else {
79 printf("\n"); 74 int col = 0;
80 } 75 for(sig=1; sig < NSIG; sig++) {
81 return EXIT_SUCCESS; 76 name = u_signal_names(0, &sig, 1);
82 case '-': 77 if(name==NULL) /* unnamed */
83 show_usage(); 78 continue;
84 default: 79 col += printf("%2d) %-16s", sig, name);
85 name = u_signal_names(*argv, &sig, 0); 80 if (col > 60) {
86 if(name==NULL) 81 printf("\n");
87 error_msg_and_die( "bad signal name: %s", *argv); 82 col = 0;
88 argc--;
89 argv++;
90 goto do_it_now;
91 } 83 }
84 }
85 printf("\n");
86 }
87 return EXIT_SUCCESS;
88 case '-':
89 show_usage();
90 default:
91 name = u_signal_names(*argv, &sig, 0);
92 if(name==NULL)
93 error_msg_and_die( "bad signal name: %s", *argv);
94 argc--;
95 argv++;
96 goto do_it_now;
97 }
92 argc--; 98 argc--;
93 argv++; 99 argv++;
94 } 100 }
95 } 101 }
96 102
97 do_it_now: 103do_it_now:
98 104
99 if (whichApp == KILL) { 105 if (whichApp == KILL) {
100 /* Looks like they want to do a kill. Do that */ 106 /* Looks like they want to do a kill. Do that */
@@ -104,8 +110,9 @@ extern int kill_main(int argc, char **argv)
104 if (!isdigit(**argv)) 110 if (!isdigit(**argv))
105 perror_msg_and_die( "Bad PID"); 111 perror_msg_and_die( "Bad PID");
106 pid = strtol(*argv, NULL, 0); 112 pid = strtol(*argv, NULL, 0);
107 if (kill(pid, sig) != 0) 113 if (kill(pid, sig) != 0) {
108 perror_msg_and_die( "Could not kill pid '%d'", pid); 114 perror_msg_and_die( "Could not kill pid '%d'", pid);
115 }
109 argv++; 116 argv++;
110 } 117 }
111 } 118 }
@@ -120,14 +127,23 @@ extern int kill_main(int argc, char **argv)
120 pidList = find_pid_by_name( *argv); 127 pidList = find_pid_by_name( *argv);
121 if (!pidList || *pidList<=0) { 128 if (!pidList || *pidList<=0) {
122 all_found = FALSE; 129 all_found = FALSE;
123 error_msg_and_die( "%s: no process killed", *argv); 130 if (quiet) {
131 exit(EXIT_FAILURE);
132 } else {
133 error_msg_and_die( "%s: no process killed", *argv);
134 }
124 } 135 }
125 136
126 for(; pidList && *pidList!=0; pidList++) { 137 for(; pidList && *pidList!=0; pidList++) {
127 if (*pidList==myPid) 138 if (*pidList==myPid)
128 continue; 139 continue;
129 if (kill(*pidList, sig) != 0) 140 if (kill(*pidList, sig) != 0) {
130 perror_msg_and_die( "Could not kill pid '%d'", *pidList); 141 if (quiet) {
142 exit(EXIT_FAILURE);
143 } else {
144 perror_msg_and_die( "Could not kill pid '%d'", *pidList);
145 }
146 }
131 } 147 }
132 /* Note that we don't bother to free the memory 148 /* Note that we don't bother to free the memory
133 * allocated in find_pid_by_name(). It will be freed 149 * allocated in find_pid_by_name(). It will be freed