Fixed option parsing to stop when a non-option is found.

There is the "permute" option in getopt_long family. This option orders
getopt_long to continue parsing with ignoring non-options. This option
gets disabled with "+" in optarg.

You can see the code for this option in getopt_internal at
/usr/src/lib/libc/stdlib/getopt_long.c::

    static int
    getopt_internal(int nargc, char * const *nargv, const char *options,
            const struct option *long_options, int *idx, int flags)
    :
            if (posixly_correct || *options == '+')
                    flags &= ~FLAG_PERMUTE;
            else if (*options == '-')
                    flags |= FLAG_ALLARGS;
    :
                            if (!(flags & FLAG_PERMUTE)) {
                                    /*
                                     * If no permutation wanted, stop parsing
                                     * at first non-option.
                                     */
                                    return (-1);
                            }