Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Should I just change them all to:
>
> > errno = 0; /* avoid checking result for failure */
>
> No, that's still a completely inaccurate description of the reason
> for having the statement.
>
> > or should I add a macro to c.h as:
>
> > /* Sometimes we need to clear errno so we can check errno
> > * without having to check for a failure value from the function
> > * call.
> > */
> > #define CLEAR_ERRNO \\
> > do { \
> > errno = 0; \\
> > while (0);
>
> I vote "neither". Anyone who doesn't understand what this is for will
> need to go read the C library man pages for a bit anyway. Nor do I find
> "CLEAR_ERRNO" an improvement over "errno = 0".
Well, there seems to be enough confusion, even in this email list, that
identifying _why_ errno is being cleared is a good idea.
I modified it to:
errno = 0; /* avoid having to check the result for failure */
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073