]> git.ipfire.org Git - thirdparty/git.git/commit - credential.c
*.c *_init(): define in terms of corresponding *_INIT macro
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 1 Jul 2021 10:51:26 +0000 (12:51 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 1 Jul 2021 19:32:22 +0000 (12:32 -0700)
commit5726a6b4012cd41701927a6637b9f2070e7760ee
treea89b3b9c32f4399b80f1d2d15214b8d9799f4ec8
parent3d97ea479fdcb88671105e2f2d04064bab110bd5
*.c *_init(): define in terms of corresponding *_INIT macro

Change the common patter in the codebase of duplicating the
initialization logic between an *_INIT macro and a
corresponding *_init() function to use the macro as the canonical
source of truth.

Now we no longer need to keep the function up-to-date with the macro
version. This implements a suggestion by Jeff King who found that
under -O2 [1] modern compilers will init new version in place without
the extra copy[1]. The performance of a single *_init() won't matter
in most cases, but even if it does we're going to be producing
efficient machine code to perform these operations.

1. https://lore.kernel.org/git/YNyrDxUO1PlGJvCn@coredump.intra.peff.net/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
credential.c
json-writer.c
run-command.c
strbuf.c
strmap.c
strvec.c