True

big if true

>but afaik there are no conventions for what error codes you should return e.g. for file not found etc.
errno error codes like ENOENT for your example seem reasonable.

That's why it's called an error code. If it was a boolean, it would be `error = false` or `error = true`. Thus `error = 0` means no error.

but the convention is to
err(1, "fn that triggered error")

(or non-panic variant) to actually display errno message and reason, but return 1. Do idk.

int
main (int argc, char **argv)
{

Absolutely disgusting

that's very common in non-GNU world as well, pretty much unix-style standard

>getting hung up on trivial semantics

Have you ever worked in a team with other people's code? The above doesn't even compare.