Mail Archives: cygwin/1999/12/07/21:06:31
>>>>> "Chris" == Chris Faylor <cgf AT cygnus DOT com> writes:
Chris> On Fri, Dec 03, 1999 at 08:13:43PM -0800, Martin Buchholz wrote:
>> The prototype for read() and write() in Unix98 don't match those in
>> the Cygwin header files.
>>
>> http://www.opengroup.org/onlinepubs/007908799/xsh/read.html
>> http://www.opengroup.org/onlinepubs/007908799/xsh/write.html
>>
>> The standard return type for these functions is `ssize_t'.
>> The traditional return type for these functions is `int'.
>> The return type in Cygwin is `int'.
>>
>> On 32-bit platforms, like Cygwin, the best choice is probably to use
>> `ssize_t' in the prototypes (they are standard, after all, right?),
>> but to then have
>>
>> typedef int ssize_t;
>>
>> This is effectively what Linux does.
Chris> We're discussing this now. It's not a simple issue since the "newlib"
Chris> code used by cygwin is also used by other Cygnus products so we have
Chris> to make sure that we don't break anything just to benefit Cygwin's
Chris> portability.
Chris> I do agree with this change, however, and hope to things fixed soon.
I understand that there may be engineering issues associated with the
transition, but the change has to be made sometime soon. You just
don't have a choice when it comes to standards. Besides, Cygwin's
primary purpose is to make standard Unix code run on Windows.
Like this (untested) line of code:
ssize_t (*my_read) (int, void *, size_t) = read;
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
- Raw text -