diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2008-02-29 01:45:09 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-03-01 01:51:44 -0800 |
commit | a0ec9d25d9f1c1469ec375169557a1c17d486993 (patch) | |
tree | b9cebfe937f766970f72895414dc59e20e82a796 | |
parent | 363d59df1a773039d0c69ad8c3109a56bb1b491d (diff) | |
download | git-a0ec9d25d9f1c1469ec375169557a1c17d486993.tar.gz git-a0ec9d25d9f1c1469ec375169557a1c17d486993.tar.xz |
parseopt: add flag to stop on first non option
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | parse-options.c | 2 | ||||
-rw-r--r-- | parse-options.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/parse-options.c b/parse-options.c index d9562ba50..be35785ce 100644 --- a/parse-options.c +++ b/parse-options.c @@ -249,6 +249,8 @@ int parse_options(int argc, const char **argv, const struct option *options, const char *arg = args.argv[0]; if (*arg != '-' || !arg[1]) { + if (flags & PARSE_OPT_STOP_AT_NON_OPTION) + break; argv[j++] = args.argv[0]; continue; } diff --git a/parse-options.h b/parse-options.h index 102ac31fb..0d40cd2f1 100644 --- a/parse-options.h +++ b/parse-options.h @@ -18,6 +18,7 @@ enum parse_opt_type { enum parse_opt_flags { PARSE_OPT_KEEP_DASHDASH = 1, + PARSE_OPT_STOP_AT_NON_OPTION = 2, }; enum parse_opt_option_flags { |