Harald van Dijk <harald@xxxxxxxxxxx> wrote: > That isn't the problem, not exactly anyway. The problem is that getopts > is required to keep internal state separately from the OPTIND variable > (a single integer is insufficient to track the progress when multiple > options are combined in a single word), and that internal state is > stored along with the positional parameters. The positional parameters > are saved just before a function call, and restored when the function > returns. The internal state of getopts should not be saved the same way. > It should probably just be global to dash. I think the current behaviour is fine as far as POSIX is concerned. It says: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/getopts.html : APPLICATION USAGE ... : Note that shell functions share OPTIND with the calling shell : even though the positional parameters are changed. If the calling : shell and any of its functions uses getopts to parse arguments, : the results are unspecified. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe dash" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html