diff options
author | Tim J. Robbins <tjr@FreeBSD.org> | 2002-06-13 08:07:20 +0000 |
---|---|---|
committer | Tim J. Robbins <tjr@FreeBSD.org> | 2002-06-13 08:07:20 +0000 |
commit | 08de34ac0165ebafd0788b57a39554e33b27e645 (patch) | |
tree | 9c12f0741b05756268930c250b401cb0afd8dc7f /bin/kill/kill.c | |
parent | 83952a118bc4eee82f98f470f8e3cb600520889f (diff) | |
download | src-08de34ac0165ebafd0788b57a39554e33b27e645.tar.gz src-08de34ac0165ebafd0788b57a39554e33b27e645.zip |
Support the "--" end of options marker, useful to disambiguate between
signal numbers and process groups (negative pid arguments), and
required by SUSv3.
Notes
Notes:
svn path=/head/; revision=98158
Diffstat (limited to 'bin/kill/kill.c')
-rw-r--r-- | bin/kill/kill.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/bin/kill/kill.c b/bin/kill/kill.c index 48198c82e5d3..865c9db426b3 100644 --- a/bin/kill/kill.c +++ b/bin/kill/kill.c @@ -103,7 +103,7 @@ main(int argc, char *argv[]) } else numsig = 0; argc--, argv++; - } else if (**argv == '-') { + } else if (**argv == '-' && *(*argv + 1) != '-') { ++*argv; if (isalpha(**argv)) { if ((numsig = signame_to_signum(*argv)) < 0) @@ -119,6 +119,9 @@ main(int argc, char *argv[]) argc--, argv++; } + if (argc > 0 && strncmp(*argv, "--", 2) == 0) + argc--, argv++; + if (argc == 0) usage(); |