new ARGBEGIN & usage() function

This commit is contained in:
Connor Lane Smith
2012-05-14 21:28:41 +01:00
parent f1259218f2
commit 146cca114e
11 changed files with 118 additions and 140 deletions

20
kill.c
View File

@@ -8,7 +8,7 @@
#include <sys/wait.h>
#include "util.h"
#define LEN(x) (sizeof (x) / sizeof *(x))
#define USAGE() killusage()
struct {
const char *name;
@@ -21,6 +21,8 @@ struct {
#undef SIG
};
static void killusage(void);
int
main(int argc, char *argv[])
{
@@ -48,13 +50,12 @@ main(int argc, char *argv[])
eprintf("%s: unknown signal\n", optarg);
break;
default:
exit(EXIT_FAILURE);
USAGE();
}
if(lflag) {
if(optind < argc-1)
eprintf("usage: %s [-s signal] [pid...]\n"
" %s -l [signum]\n", argv[0], argv[0]);
if(optind < argc-1)
USAGE();
if(lflag) {
sig = (optind == argc) ? 0 : estrtol(argv[optind], 0);
if(sig > 128)
sig = WTERMSIG(sig);
@@ -70,3 +71,10 @@ main(int argc, char *argv[])
}
return EXIT_SUCCESS;
}
void
killusage(void)
{
fprintf(stderr, "usage: %s [-s signal] [pid...]\n"
" %s -l [signum]\n", argv0, argv0);
}