]> git.ipfire.org Git - thirdparty/git.git/commit
usage: define a type for a reporting function
authorJeff King <peff@peff.net>
Thu, 15 Oct 2020 19:30:04 +0000 (15:30 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 16 Oct 2020 15:33:58 +0000 (08:33 -0700)
commit5710dcce74ac2a8a8d6f8f131aaa498cb04aa253
tree8ac5b6b0b4d1e5e95e0bb902f148d754f79ddacd
parent47ae905ffb98cc4d4fd90083da6bc8dab55d9ecc
usage: define a type for a reporting function

The usage, die, warning, and error routines all work with a function
pointer that takes the message to be reported. We usually just mention
the function's full type inline. But this makes the use of these
pointers hard to read, especially because C's syntax for returning a
function pointer is so awful:

  void (*get_error_routine(void))(const char *err, va_list params);

Unless you read it very carefully, this looks like a function pointer
declaration. Let's instead use a single typedef to define a reporting
function, which is the same for all four types.

Note that this also removes the "extern" from these declarations to
match the surrounding functions. They were missed in 554544276a (*.[ch]:
remove extern from function declarations using spatch, 2019-04-29)
presumably because of the unusual syntax.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-compat-util.h
usage.c