https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228088
Bug ID: 228088 Summary: /usr/src/usr.bin/killall/killall.1 - killall recognizes only first option of conjoined option argument Product: Documentation Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Many People Priority: --- Component: Manual Pages Assignee: b...@freebsd.org Reporter: oss...@gmail.com CC: d...@freebsd.org Created attachment 193199 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=193199&action=edit killall.1 patch ### Problem killall uses a custom option parser that silently ignores all but the first option in a conjoined nonargument option set. This behavior differs from that exhibited by the FreeBSD C Standard Library POSIX.1 getopt(3) function. ### Explication This user was surprised to find that $ killall -zs foo did not work as implied by the manpage, a potential pitfall for the unaware. A quick perusal of /usr/src/usr.bin/killall.c shows the custom option parser handles option -zs by doing the following (in algol/c ish psuedocode): av++/ac-- loop ... if **av == '-' // aha, likely an option then ++*av switch (**av)) { case 'z': // yes, it is ... // handle option break } fi av++/ac-- // loop driver pool Back at loop top, *av now points at what originally was *(av+1). Thus the conjoined option 's' is now buried in string pointed to by *(av-1) and silently ignored. ### Solution Either rewrite option parsing to be more POSIXish in behavior, or change the manpage. I take the second approach and attach a patch for the killall.1 manpage. $ man killall ... SYNOPSIS killall [-delmsvz] [-help] [-I] [-j jail] [-u user] [-t tty] .... by patch changes to $ man killall ... SYNOPSIS killall [-d] [-e] [-l] [-m] [-s] [-v] [-z] [-help] [-I] [-j jail] [-u user] [-t tty] ... CAVEATS This utility silently ignores all but the first member of conjoined options. E.g., option -zs is interpreted as if option -z alone were present. ### Files See attached patch. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ freebsd-doc@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-doc To unsubscribe, send any mail to "freebsd-doc-unsubscr...@freebsd.org"