> Could you write a log message to accompany the commit? Oh, right. Same standards as subversion, I take it? It's at the end of this message.
> There's also been talk about eliminating the redundant `opts' param > to apr_getopt_long(). Did you not do that because you didn't want > to mix two changes in one commit, or because you don't think it's a > good idea? I did do it; the interface I implemented is exactly what came out of that conversation. Perhaps you missed it because long_opts got renamed to opts? Incidentally, I have changes to subversion/client/main.c ready once this is committed. Log message follows: --- Simplify apr_getopt_long interface and add support for interleaving. (apr_getopt_t, apr_initopt): Add "interleave" settable flag and "skip_start" and "skip_end" fields to keep track of skipped non-option arguments. Change argv to a char ** so that we can permute it. (apr_long_option_t): Renamed to apr_option_t. (apr_option_t): Rename "val" to "optch" and use for the short option name as well as the result. "name" can now be NULL, and a structure with an "optch" of 0 now terminates the list. (reverse,permute,serr,cerr): New helper functions. (apr_getopt_long): Rewrite for simplified interface and for interleaved option support.