summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2009-09-01 02:18:52 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2009-09-01 07:55:56 -0700
commitdcda3614d44bf83aaeb7632353ab668bc689986c (patch)
treebd77dc2f9fd5ad32a9d99c3113403a1b5756366e
parentStyle fixes, add a space after if/for/while. (diff)
downloadtgif-dcda3614d44bf83aaeb7632353ab668bc689986c.tar.xz
builtin-pack-objects.c: avoid vla
This is one of only two places that we use C99 variable length array on the stack, which some older compilers apparently are not happy with. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin-pack-objects.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c
index c918d4bfc4..1ff2ce6df4 100644
--- a/builtin-pack-objects.c
+++ b/builtin-pack-objects.c
@@ -1599,7 +1599,7 @@ static void *threaded_find_deltas(void *arg)
static void ll_find_deltas(struct object_entry **list, unsigned list_size,
int window, int depth, unsigned *processed)
{
- struct thread_params p[delta_search_threads];
+ struct thread_params *p;
int i, ret, active_threads = 0;
if (delta_search_threads <= 1) {
@@ -1609,6 +1609,7 @@ static void ll_find_deltas(struct object_entry **list, unsigned list_size,
if (progress > pack_to_stdout)
fprintf(stderr, "Delta compression using up to %d threads.\n",
delta_search_threads);
+ p = xcalloc(delta_search_threads, sizeof(*p));
/* Partition the work amongst work threads. */
for (i = 0; i < delta_search_threads; i++) {
@@ -1717,6 +1718,7 @@ static void ll_find_deltas(struct object_entry **list, unsigned list_size,
active_threads--;
}
}
+ free(p);
}
#else