Subject: Re: [PATCH v3 10/12] usage: allow dying without writing an error message

From: Junio C Hamano <[email-masked]>
Date: Tue, 03 Jun 2025 08:24:59 -0700

Patrick Steinhardt <[email-masked]> writes:

> Sometimes code wants to die in a situation where it already has written
> an error message. To use the same error code as `die()` we have to open
> code the code with a call to `exit(128)` in such cases, which is easy to
> get wrong and leaves magical numbers all over our codebase.
> ...
>  	if (!patch_format) {
>  		fprintf_ln(stderr, _("Patch format detection failed."));
> -		exit(128);
> +		die(NULL);

It is somewhat surprising that the compiler would not complain with
"Hey, a NULL string as printf format string???" given its decl.

NORETURN void die(const char *err, ...) __attribute__((format (printf, 1, 2)));

As long as we are sure that compilers we care about are OK with
this, it is a very nice ergonomics enhancement.