Fix indentation. Support killall -q, for pcmcia-cs -Erik
No binary (build failed)
—
(log yok)
| @@ -38,7 +38,7 @@ static const int KILLALL = 1; | |
| extern int kill_main(int argc, char **argv) | |
| { | |
| - | int whichApp, sig = SIGTERM; |
| + | int whichApp, sig = SIGTERM, quiet; |
| const char *name; | |
| #ifdef CONFIG_KILLALL | |
| @@ -48,6 +48,7 @@ extern int kill_main(int argc, char **argv) | |
| whichApp = KILL; | |
| #endif | |
| + | quiet=0; |
| argc--; | |
| argv++; | |
| /* Parse any options */ | |
| @@ -57,44 +58,49 @@ extern int kill_main(int argc, char **argv) | |
| while (argc > 0 && **argv == '-') { | |
| while (*++(*argv)) { | |
| switch (**argv) { | |
| - | case 'l': |
| - | if(argc>1) { |
| - | for(argv++; *argv; argv++) { |
| - | name = u_signal_names(*argv, &sig, -1); |
| - | if(name!=NULL) |
| - | printf("%s\n", name); |
| - | } |
| - | } else { |
| - | int col = 0; |
| - | for(sig=1; sig < NSIG; sig++) { |
| - | name = u_signal_names(0, &sig, 1); |
| - | if(name==NULL) /* unnamed */ |
| - | continue; |
| - | col += printf("%2d) %-16s", sig, name); |
| - | if (col > 60) { |
| - | printf("\n"); |
| - | col = 0; |
| + | #ifdef CONFIG_KILLALL |
| + | case 'q': |
| + | quiet++; |
| + | break; |
| + | #endif |
| + | case 'l': |
| + | if(argc>1) { |
| + | for(argv++; *argv; argv++) { |
| + | name = u_signal_names(*argv, &sig, -1); |
| + | if(name!=NULL) |
| + | printf("%s\n", name); |
| } | |
| - | } |
| - | printf("\n"); |
| - | } |
| - | return EXIT_SUCCESS; |
| - | case '-': |
| - | show_usage(); |
| - | default: |
| - | name = u_signal_names(*argv, &sig, 0); |
| - | if(name==NULL) |
| - | error_msg_and_die( "bad signal name: %s", *argv); |
| - | argc--; |
| - | argv++; |
| - | goto do_it_now; |
| + | } else { |
| + | int col = 0; |
| + | for(sig=1; sig < NSIG; sig++) { |
| + | name = u_signal_names(0, &sig, 1); |
| + | if(name==NULL) /* unnamed */ |
| + | continue; |
| + | col += printf("%2d) %-16s", sig, name); |
| + | if (col > 60) { |
| + | printf("\n"); |
| + | col = 0; |
| } | |
| + | } |
| + | printf("\n"); |
| + | } |
| + | return EXIT_SUCCESS; |
| + | case '-': |
| + | show_usage(); |
| + | default: |
| + | name = u_signal_names(*argv, &sig, 0); |
| + | if(name==NULL) |
| + | error_msg_and_die( "bad signal name: %s", *argv); |
| + | argc--; |
| + | argv++; |
| + | goto do_it_now; |
| + | } |
| argc--; | |
| argv++; | |
| } | |
| } | |
| - | do_it_now: |
| + | do_it_now: |
| if (whichApp == KILL) { | |
| /* Looks like they want to do a kill. Do that */ | |
| @@ -104,8 +110,9 @@ extern int kill_main(int argc, char **argv) | |
| if (!isdigit(**argv)) | |
| perror_msg_and_die( "Bad PID"); | |
| pid = strtol(*argv, NULL, 0); | |
| - | if (kill(pid, sig) != 0) |
| + | if (kill(pid, sig) != 0) { |
| perror_msg_and_die( "Could not kill pid '%d'", pid); | |
| + | } |
| argv++; | |
| } | |
| } | |
| @@ -120,14 +127,23 @@ extern int kill_main(int argc, char **argv) | |
| pidList = find_pid_by_name( *argv); | |
| if (!pidList || *pidList<=0) { | |
| all_found = FALSE; | |
| - | error_msg_and_die( "%s: no process killed", *argv); |
| + | if (quiet) { |
| + | exit(EXIT_FAILURE); |
| + | } else { |
| + | error_msg_and_die( "%s: no process killed", *argv); |
| + | } |
| } | |
| for(; pidList && *pidList!=0; pidList++) { | |
| if (*pidList==myPid) | |
| continue; | |
| - | if (kill(*pidList, sig) != 0) |
| - | perror_msg_and_die( "Could not kill pid '%d'", *pidList); |
| + | if (kill(*pidList, sig) != 0) { |
| + | if (quiet) { |
| + | exit(EXIT_FAILURE); |
| + | } else { |
| + | perror_msg_and_die( "Could not kill pid '%d'", *pidList); |
| + | } |
| + | } |
| } | |
| /* Note that we don't bother to free the memory | |
| * allocated in find_pid_by_name(). It will be freed | |