Christian Ullrich <chris@chrullrich.net> writes:
> Anyway, I think Michael's fix is wrong. The bug is that the Win32
> version of link() (at the bottom of zic.c) does not set errno if its
> attempt to copy the file fails, so what dolink() puts into link_errno is
> bogus.
Ah-hah, that explains things nicely. The previous coding in dolink()
wasn't so dependent on link() returning a valid errno on failure.
> Patch attached.
But then, should not this code make sure that errno *always* gets set?
I'd be inclined to think we should use _dosmaperr(), too, rather than
hand-coding it.
regards, tom lane