On Sun, Jul 22, 2018 at 07:48:33AM +0200, Christian Couder wrote:

> +     /*
> +      * We process only trees, as commits and tags have already been handled
> +      * (and passed their marks on to root trees, as well. We must make sure
> +      * to process them in descending tree-depth order so that marks
> +      * propagate down the tree properly, even if a sub-tree is found in
> +      * multiple parent trees.
> +      */
> +     todo = xmalloc(to_pack->nr_objects * sizeof(*todo));

I was fiddling with "make coccicheck", and it looks like this code could
stand some modernization. This could use ALLOC_ARRAY().

> +     for (i = 0; i < to_pack->nr_objects; i++) {
> +             if (oe_type(&to_pack->objects[i]) == OBJ_TREE)
> +                     todo[nr++] = &to_pack->objects[i];
> +     }
> +     qsort(todo, nr, sizeof(*todo), cmp_tree_depth);

And this QSORT().

There are a few others, I won't list them all. The only tricky one I see
is:

> +             free(tree->buffer);
> +             tree->buffer = NULL;
> +             tree->object.parsed = 0;

This suggests FREE_AND_NULL(), but I think it actually the whole block
should become a call to free_tree_buffer().

-Peff

Reply via email to