This is sort of right, but the behaviour is a bit subtle. errno should never be set to
zero by any POSIX-compliant syscall or library call. However it may be set to something (which is non-zero) on a successful call. Ref:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/e...