summaryrefslogtreecommitdiff
path: root/builtin/cat-file.c
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2018-11-18 18:23:53 +0900
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-11-18 18:23:53 +0900
commitab96f28ba4deb71ff64b31bd63cee96314db7112 (patch)
tree16ad5cafd201b65eb74c0c132f08b5ecc852fd92 /builtin/cat-file.c
parentMerge branch 'jk/curl-ldflags' (diff)
parentmidx: double-check large object write loop (diff)
downloadtgif-ab96f28ba4deb71ff64b31bd63cee96314db7112.tar.xz
Merge branch 'jk/unused-parameter-fixes'
Various functions have been audited for "-Wunused-parameter" warnings and bugs in them got fixed. * jk/unused-parameter-fixes: midx: double-check large object write loop assert NOARG/NONEG behavior of parse-options callbacks parse-options: drop OPT_DATE() apply: return -1 from option callback instead of calling exit(1) cat-file: report an error on multiple --batch options tag: mark "--message" option with NONEG show-branch: mark --reflog option as NONEG format-patch: mark "--no-numbered" option with NONEG status: mark --find-renames option with NONEG cat-file: mark batch options with NONEG pack-objects: mark index-version option as NONEG ls-files: mark exclude options as NONEG am: handle --no-patch-format option apply: mark include/exclude options as NONEG
Diffstat (limited to 'builtin/cat-file.c')
-rw-r--r--builtin/cat-file.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/builtin/cat-file.c b/builtin/cat-file.c
index 0d403eb77d..657fe926e2 100644
--- a/builtin/cat-file.c
+++ b/builtin/cat-file.c
@@ -603,8 +603,10 @@ static int batch_option_callback(const struct option *opt,
{
struct batch_options *bo = opt->value;
+ BUG_ON_OPT_NEG(unset);
+
if (bo->enabled) {
- return 1;
+ return error(_("only one batch option may be specified"));
}
bo->enabled = 1;
@@ -639,10 +641,12 @@ int cmd_cat_file(int argc, const char **argv, const char *prefix)
OPT_BOOL(0, "buffer", &batch.buffer_output, N_("buffer --batch output")),
{ OPTION_CALLBACK, 0, "batch", &batch, "format",
N_("show info and content of objects fed from the standard input"),
- PARSE_OPT_OPTARG, batch_option_callback },
+ PARSE_OPT_OPTARG | PARSE_OPT_NONEG,
+ batch_option_callback },
{ OPTION_CALLBACK, 0, "batch-check", &batch, "format",
N_("show info about objects fed from the standard input"),
- PARSE_OPT_OPTARG, batch_option_callback },
+ PARSE_OPT_OPTARG | PARSE_OPT_NONEG,
+ batch_option_callback },
OPT_BOOL(0, "follow-symlinks", &batch.follow_symlinks,
N_("follow in-tree symlinks (used with --batch or --batch-check)")),
OPT_BOOL(0, "batch-all-objects", &batch.all_objects,