how many times have i wished errno didn't exist and that instead function returned the value directly, with per component error type as enum
the day i make my own language because c pissed me off one too many times you can BET that's how error handling will be done (at least for basic cases)