drop unused argc parameters
Many functions take an argv/argc pair, but never actually look at argc. This makes it useless at best (we use the NULL sentinel in argv to find the end of the array), and misleading at worst (what happens if the argc count does not match the argv NULL?). In each of these instances, the argv NULL does match the argc count, so there are no bugs here. But let's tighten the interfaces to make it harder to get wrong (and to reduce some -Wunused-parameter complaints). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King committed
Sep 30, 2020 at 08:28 UTC
e885a84f1bc660adfc1dea5f6c25d0a92c7c9dbc
5 files changed
+15
-15
builtin/add.c
+2
-2
@@ -239,7 +239,7 @@ int run_add_interactive(const char *revision, const char *patch_mode,
239
return status;
240
}
241
242
-int interactive_add(int argc, const char **argv, const char *prefix, int patch)
242
+int interactive_add(const char **argv, const char *prefix, int patch)
243
{
244
struct pathspec pathspec;
245
@@ -451,7 +451,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
451
if (add_interactive) {
452
if (pathspec_from_file)
453
die(_("--pathspec-from-file is incompatible with --interactive/--patch"));
454
- exit(interactive_add(argc - 1, argv + 1, prefix, patch_interactive));
454
+ exit(interactive_add(argv + 1, prefix, patch_interactive));
455
}
456
if (legacy_stash_p) {
457
struct pathspec pathspec;
builtin/commit.c
+6
-6
@@ -326,7 +326,7 @@ static void refresh_cache_or_die(int refresh_flags)
326
die_resolve_conflict("commit");
327
}
328
329
-static const char *prepare_index(int argc, const char **argv, const char *prefix,
329
+static const char *prepare_index(const char **argv, const char *prefix,
330
const struct commit *current_head, int is_status)
331
{
332
struct string_list partial = STRING_LIST_INIT_DUP;
@@ -378,7 +378,7 @@ static const char *prepare_index(int argc, const char **argv, const char *prefix
378
old_index_env = xstrdup_or_null(getenv(INDEX_ENVIRONMENT));
379
setenv(INDEX_ENVIRONMENT, the_repository->index_file, 1);
380
381
- if (interactive_add(argc, argv, prefix, patch_interactive) != 0)
381
+ if (interactive_add(argv, prefix, patch_interactive) != 0)
382
die(_("interactive add failed"));
383
384
the_repository->index_file = old_repo_index_file;
@@ -1241,13 +1241,13 @@ static int parse_and_validate_options(int argc, const char *argv[],
1241
return argc;
1242
}
1243
1244
-static int dry_run_commit(int argc, const char **argv, const char *prefix,
1244
+static int dry_run_commit(const char **argv, const char *prefix,
1245
const struct commit *current_head, struct wt_status *s)
1246
{
1247
int committable;
1248
const char *index_file;
1249
1250
- index_file = prepare_index(argc, argv, prefix, current_head, 1);
1250
+ index_file = prepare_index(argv, prefix, current_head, 1);
1251
committable = run_status(stdout, index_file, prefix, 0, s);
1252
rollback_index_files();
1253
@@ -1584,8 +1584,8 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
1584
verbose = (config_commit_verbose < 0) ? 0 : config_commit_verbose;
1585
1586
if (dry_run)
1587
- return dry_run_commit(argc, argv, prefix, current_head, &s);
1588
- index_file = prepare_index(argc, argv, prefix, current_head, 0);
1587
+ return dry_run_commit(argv, prefix, current_head, &s);
1588
+ index_file = prepare_index(argv, prefix, current_head, 0);
1589
1590
/* Set up everything for writing the commit object. This includes
1591
running hooks, writing the trees, and interacting with the user. */
commit.h
+1
-1
@@ -248,7 +248,7 @@ struct oid_array;
248
struct ref;
249
int for_each_commit_graft(each_commit_graft_fn, void *);
250
251
-int interactive_add(int argc, const char **argv, const char *prefix, int patch);
251
+int interactive_add(const char **argv, const char *prefix, int patch);
252
int run_add_interactive(const char *revision, const char *patch_mode,
253
const struct pathspec *pathspec);
254
revision.c
+3
-3
@@ -2580,8 +2580,8 @@ static int for_each_good_bisect_ref(struct ref_store *refs, each_ref_fn fn, void
2580
}
2581
2582
static int handle_revision_pseudo_opt(const char *submodule,
2583
- struct rev_info *revs,
2584
- int argc, const char **argv, int *flags)
2583
+ struct rev_info *revs,
2584
+ const char **argv, int *flags)
2585
{
2586
const char *arg = argv[0];
2587
const char *optarg;
@@ -2752,7 +2752,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
2752
int opts;
2753
2754
opts = handle_revision_pseudo_opt(submodule,
2755
- revs, argc - i, argv + i,
2755
+ revs, argv + i,
2756
&flags);
2757
if (opts > 0) {
2758
i += opts - 1;
t/helper/test-submodule-nested-repo-config.c
+3
-3
@@ -1,7 +1,7 @@
1
#include "test-tool.h"
2
#include "submodule-config.h"
3
4
-static void die_usage(int argc, const char **argv, const char *msg)
4
+static void die_usage(const char **argv, const char *msg)
5
{
6
fprintf(stderr, "%s\n", msg);
7
fprintf(stderr, "Usage: %s <submodulepath> <config name>\n", argv[0]);
@@ -14,13 +14,13 @@ int cmd__submodule_nested_repo_config(int argc, const char **argv)
14
const struct submodule *sub;
15
16
if (argc < 3)
17
- die_usage(argc, argv, "Wrong number of arguments.");
17
+ die_usage(argv, "Wrong number of arguments.");
18
19
setup_git_directory();
20
21
sub = submodule_from_path(the_repository, &null_oid, argv[1]);
22
if (repo_submodule_init(&subrepo, the_repository, sub)) {
23
- die_usage(argc, argv, "Submodule not found.");
23
+ die_usage(argv, "Submodule not found.");
24
}
25
26
/* Read the config of _child_ submodules. */