diff mbox

[MAN] Fix description of getopts when last argument reached

Message ID 87r3pt6dag.fsf@sperrhaken.name (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show

Commit Message

Felix Dietrich June 2, 2015, 8:55 p.m. UTC
---
When I read the getopts description in the man-page I got stumped by the
following part:

    getopts optstring var

        [..]

        If there are no remaining arguments, getopts will set var to
        special option, “--”, otherwise, it will set var to “?”

        [..]

After I was unable to get getopts to store "--" in var, I asked for help
on comp.unix.shell [1] where it was pointed out to me that actually the
POSIX description of getopts [2] does not include a special option "--";
dash's behaviour of setting var to "?" after the last argument is
correct and that this is most likely an error in the documention.

In case this is not an error: Under what circumstances will var be set
to "--"?  Could you provide an example?

[1] https://groups.google.com/forum/#!topic/comp.unix.shell/BIR9dDgKZvg
[2] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/getopts.html

 src/dash.1 | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

Comments

Herbert Xu June 11, 2015, 6:34 a.m. UTC | #1
Felix Dietrich <felix.dietrich@sperrhaken.name> wrote:
> ---
> When I read the getopts description in the man-page I got stumped by the
> following part:
> 
>    getopts optstring var
> 
>        [..]
> 
>        If there are no remaining arguments, getopts will set var to
>        special option, “--”, otherwise, it will set var to “?”
> 
>        [..]
> 
> After I was unable to get getopts to store "--" in var, I asked for help
> on comp.unix.shell [1] where it was pointed out to me that actually the
> POSIX description of getopts [2] does not include a special option "--";
> dash's behaviour of setting var to "?" after the last argument is
> correct and that this is most likely an error in the documention.

Patch applied.  Thanks!
diff mbox

Patch

diff --git a/src/dash.1 b/src/dash.1
index 693c970..832eae7 100644
--- a/src/dash.1
+++ b/src/dash.1
@@ -1402,14 +1402,9 @@  By specifying a colon as the first character of
 .Va optstring
 all errors will be ignored.
 .Pp
-A nonzero value is returned when the last option is reached.
-If there are no remaining arguments,
+After the last option
 .Ic getopts
-will set
-.Va var
-to the special option,
-.Dq -- ,
-otherwise, it will set
+will return a non-zero value and set
 .Va var
 to
 .Dq \&? .