Date: Sat, 14 Sep 1996 05:56:33 +1000 From: Bruce Evans <bde@zeta.org.au> To: cvs-all@freefall.freebsd.org, CVS-committers@freefall.freebsd.org, cvs-lib@freefall.freebsd.org, pst@freefall.freebsd.org Subject: Re: cvs commit: src/lib/libc/stdio funopen.3 Message-ID: <199609131956.FAA22959@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
> Modified: lib/libc/stdio funopen.3 > Log: > fwopen() argument type mis-described > > Obtained from: NetBSD lib/2751 (der Mouse) Hmmm, the fwopen() and fropen() function arg types are mis-designed - they are incompatible write() and read, e.g,: ssize_t write (int fd, void const *buf, size_t nbytes); ||||||| |||| |||||| int (*writefn) (void *cookie, char const *buf, int nbytes); This matters if size_t is larger than int and if write() can sucessfully return a negative count. It is easy to write a writefn that can successfully returns a negative count and easy to return such a count on a 16-bit system. __sfvwrite() misinterprets negative counts as errors although the man page says that only -1 is an error. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199609131956.FAA22959>