Hi,
I've tried to fix some bugs reported by Andrey Karpov in an article at
http://www.viva64.com/en/b/0227/
The value returned by socket() is unsigned on Windows and can thus not
be checked if less than zero to detect an error, instead
PGINVALID_SOCKET should be used, which is hard-coded to -1 on
non-windows platforms.
Joel Jacobson