$OpenBSD: patch-pkill_pkill_c,v 1.1.1.1 2003/01/06 18:03:44 lebel Exp $ Support the -V flag. Fix -signal support. Fix return values. --- pkill/pkill.c.orig Tue May 22 06:33:42 2001 +++ pkill/pkill.c Mon Jan 6 23:14:31 2003 @@ -1,5 +1,5 @@ /* - * pkill [-s |-] [-fnvx] [-g ] [-G ] + * pkill [-s |-] [-fnvVx] [-g ] [-G ] * [-P ] [-t ] [-u ] * [-U ] [] * @@ -14,6 +14,7 @@ * -u : matches effective uids * -U : matches real uids * -v : invert match + * -V : invert flags but not the pattern * -x : exact match (default regex) * * : regex (or exact string if -x) to match @@ -52,7 +53,7 @@ main(argc, argv) struct termlist *terml; struct uidlist *euidl, *uidl; int ch; - int fflag, nflag, vflag, xflag; + int fflag, nflag, vflag, Vflag, xflag; int numsig; size_t len; char *newarg; @@ -63,7 +64,7 @@ main(argc, argv) pgroupl = ppidl = sidl = NULL; terml = NULL; euidl = uidl = NULL; - fflag = xflag = nflag = vflag = FALSE; + fflag = xflag = nflag = vflag = Vflag = FALSE; numsig = SIGTERM; newarg = NULL; @@ -79,7 +80,7 @@ main(argc, argv) len = strlen(*argv) + 3; if ((newarg = calloc(len, sizeof(char))) == NULL) err(EX_OSERR, NULL); - snprintf(newarg, len, "-S%s", *argv); + snprintf(newarg, len, "-s%s", *argv); --*argv; *argv = newarg; } @@ -145,6 +146,9 @@ main(argc, argv) case 'v': vflag = TRUE; break; + case 'V': + Vflag = TRUE; + break; case 'x': xflag = TRUE; break; @@ -165,7 +169,7 @@ main(argc, argv) usage(); } - getProcList (&proclist, euidl, uidl, gidl, ppidl, pgroupl, terml, fflag, nflag, vflag, xflag, ((argc > 0)?argv[0]:NULL)); + getProcList (&proclist, euidl, uidl, gidl, ppidl, pgroupl, terml, fflag, nflag, vflag, Vflag, xflag, ((argc > 0)?argv[0]:NULL)); temppl = proclist; while (temppl != NULL) { @@ -174,7 +178,7 @@ main(argc, argv) temppl = temppl->next; } - exit(EX_OK); + return proclist == NULL ? 1 : EX_OK; } /*