http://bugzilla.spamassassin.org/show_bug.cgi?id=3506
------- Additional Comments From [EMAIL PROTECTED] 2004-07-27 14:49 ------- Windows doen't define ssize_t, at least not in VC++ 6.0. It has been added to some compatibility layer sometime between then and the most recent Visual Studio.Net 2003. Cygwin declares the functions to return int, but it does define the ssize_t type. I don't know if Windows is the only platform that does not define ssize_t and if Cygwin and Windows are the only ones that declare read and rcvd as returning int. I believe that on 64 bit platforms ssize_t is a 64 bit signed integer and int is a 32 bit signed integer. On Windows 2000 64 bit, size_t is an unsigned 64 bit integer, but it appears that read and rcvd are declared to return int. Right now we are reading only one byte at a time. If we changed to reading into a big buffer and parsing lines out of that, and we can allocate 2**32 or more bytes in the buffer on 64 bit platforms, then we would have to use ssize_t instead of int. I propose that the simplest way of dealing with this mess is the patch that I submitted, as it avoids the conditional preprocesor code that would be required if we do anything with ssize_t, because of Windows, and it will work even on 64 bit platforms that define ssize_t because we always read less than 2**32 bytes. ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.
