If you've got a convention that error shall always be a pointer andnobody in their right mind would prefer this interface [pass an error
flag in as a pointer] when the function returns nothing.
shall always be the last parameter, it's best to stick to it.
The convention has some value when functions naturally return a
result, in some libraries results are returned through pointers,
purely to preserve the convention that the return type shall be
the error status.