We actually shouldn't change errno to zero to maintain compatibility
with the pure C standard.