]> git.ipfire.org Git - thirdparty/git.git/commitdiff
check_everything_connected: convert to argv_array
authorJeff King <peff@peff.net>
Fri, 15 Jul 2016 10:28:32 +0000 (06:28 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 20 Jul 2016 19:10:51 +0000 (12:10 -0700)
This avoids the magic "9" array-size which we must avoid
overflowing, making further patches simpler.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
connected.c

index 7560a31628115eafa40237f51f6c00e5b15b183c..a3bfc4e679e3f0d33dd84805c91f6ea81c467e3d 100644 (file)
@@ -26,10 +26,9 @@ static int check_everything_connected_real(sha1_iterate_fn fn,
                                           const char *shallow_file)
 {
        struct child_process rev_list = CHILD_PROCESS_INIT;
-       const char *argv[9];
        char commit[41];
        unsigned char sha1[20];
-       int err = 0, ac = 0;
+       int err = 0;
        struct packed_git *new_pack = NULL;
        size_t base_len;
 
@@ -48,18 +47,16 @@ static int check_everything_connected_real(sha1_iterate_fn fn,
        }
 
        if (shallow_file) {
-               argv[ac++] = "--shallow-file";
-               argv[ac++] = shallow_file;
+               argv_array_push(&rev_list.args, "--shallow-file");
+               argv_array_push(&rev_list.args, shallow_file);
        }
-       argv[ac++] = "rev-list";
-       argv[ac++] = "--objects";
-       argv[ac++] = "--stdin";
-       argv[ac++] = "--not";
-       argv[ac++] = "--all";
-       argv[ac++] = "--quiet";
-       argv[ac] = NULL;
+       argv_array_push(&rev_list.args,"rev-list");
+       argv_array_push(&rev_list.args, "--objects");
+       argv_array_push(&rev_list.args, "--stdin");
+       argv_array_push(&rev_list.args, "--not");
+       argv_array_push(&rev_list.args, "--all");
+       argv_array_push(&rev_list.args, "--quiet");
 
-       rev_list.argv = argv;
        rev_list.git_cmd = 1;
        rev_list.in = -1;
        rev_list.no_stdout = 1;