argv-array: fix bogus cast when freeing array
authorJeff King <peff@peff.net>
Sat, 1 Sep 2012 11:34:09 +0000 (07:34 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 3 Sep 2012 04:10:24 +0000 (21:10 -0700)
Since the array struct stores a "const char **" argv member
(for compatibility with most of our argv-taking functions),
we have to cast away the const-ness when freeing its
elements.

However, we used the wrong type when doing so.  It doesn't
make a difference since free() take a void pointer anyway,
but it can be slightly confusing to a reader.

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

index 55e8443ff9f0d3876608047a9205ec8d38cf4033..256741d2262b237c56b6730bea9d52c9b39b7ee3 100644 (file)
@@ -63,7 +63,7 @@ void argv_array_clear(struct argv_array *array)
        if (array->argv != empty_argv) {
                int i;
                for (i = 0; i < array->argc; i++)
-                       free((char **)array->argv[i]);
+                       free((char *)array->argv[i]);
                free(array->argv);
        }
        argv_array_init(array);