> Much of the trouble with error returns comes from the strange C convention that functions with return values can be called as if they didn't return a value.
The "warn_unused_result" GCC function attribute makes the compiler emit a warning when you do `func(something);`: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attribute...