Skip to content

Commit 3be89f9

Browse files
peffgitster
authored andcommitted
check_everything_connected: convert to argv_array
This avoids the magic "9" array-size which we must avoid overflowing, making further patches simpler. Signed-off-by: Jeff King <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 434ea3c commit 3be89f9

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

connected.c

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@ static int check_everything_connected_real(sha1_iterate_fn fn,
2626
const char *shallow_file)
2727
{
2828
struct child_process rev_list = CHILD_PROCESS_INIT;
29-
const char *argv[9];
3029
char commit[41];
3130
unsigned char sha1[20];
32-
int err = 0, ac = 0;
31+
int err = 0;
3332
struct packed_git *new_pack = NULL;
3433
size_t base_len;
3534

@@ -48,18 +47,16 @@ static int check_everything_connected_real(sha1_iterate_fn fn,
4847
}
4948

5049
if (shallow_file) {
51-
argv[ac++] = "--shallow-file";
52-
argv[ac++] = shallow_file;
50+
argv_array_push(&rev_list.args, "--shallow-file");
51+
argv_array_push(&rev_list.args, shallow_file);
5352
}
54-
argv[ac++] = "rev-list";
55-
argv[ac++] = "--objects";
56-
argv[ac++] = "--stdin";
57-
argv[ac++] = "--not";
58-
argv[ac++] = "--all";
59-
argv[ac++] = "--quiet";
60-
argv[ac] = NULL;
53+
argv_array_push(&rev_list.args,"rev-list");
54+
argv_array_push(&rev_list.args, "--objects");
55+
argv_array_push(&rev_list.args, "--stdin");
56+
argv_array_push(&rev_list.args, "--not");
57+
argv_array_push(&rev_list.args, "--all");
58+
argv_array_push(&rev_list.args, "--quiet");
6159

62-
rev_list.argv = argv;
6360
rev_list.git_cmd = 1;
6461
rev_list.in = -1;
6562
rev_list.no_stdout = 1;

0 commit comments

Comments
 (0)