2013-02-20 Yaakov Selkowitz * cygserver_ipc (class ipc_retval): Add ssize_t member to anonymous union. (ipc_retval::operator =): Add ssize_t variant for x86_64. * fhandler_floppy.cc (fhandler_dev_floppy::raw_write): Change return type to ssize_t to match fhandler.h. * fhandler_socket.cc (fhandler_socket::readv): Ditto. (fhandler_socket::write): Ditto. (fhandler_socket::writev): Ditto. (fhandler_socket::sendmsg): Ditto. Index: cygserver_ipc.h =================================================================== RCS file: /cvs/src/src/winsup/cygwin/cygserver_ipc.h,v retrieving revision 1.11.2.6 diff -u -p -r1.11.2.6 cygserver_ipc.h --- cygserver_ipc.h 9 Feb 2013 11:10:15 -0000 1.11.2.6 +++ cygserver_ipc.h 20 Feb 2013 09:26:55 -0000 @@ -62,6 +62,7 @@ class ipc_retval { private: union { int i; + ssize_t ssz; size_t sz; vm_offset_t off; vm_object_t obj; @@ -77,6 +78,10 @@ public: /* On x86_64: size_t == vm_offset_t == unsigned long */ operator size_t () const { return sz; } size_t operator = (size_t nsz) { return sz = nsz; } +#else + /* On i686: ssize_t == long == int */ + operator ssize_t () const { return ssz; } + ssize_t operator = (ssize_t nssz) { return ssz = nssz; } #endif operator vm_offset_t () const { return off; } Index: fhandler_floppy.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_floppy.cc,v retrieving revision 1.62.2.5 diff -u -p -r1.62.2.5 fhandler_floppy.cc --- fhandler_floppy.cc 12 Feb 2013 11:24:35 -0000 1.62.2.5 +++ fhandler_floppy.cc 20 Feb 2013 09:26:55 -0000 @@ -559,7 +559,7 @@ err: ulen = (size_t) -1; } -int __stdcall +ssize_t __stdcall fhandler_dev_floppy::raw_write (const void *ptr, size_t len) { DWORD bytes_written = 0; Index: fhandler_socket.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_socket.cc,v retrieving revision 1.291.2.12 diff -u -p -r1.291.2.12 fhandler_socket.cc --- fhandler_socket.cc 5 Feb 2013 15:30:12 -0000 1.291.2.12 +++ fhandler_socket.cc 20 Feb 2013 09:26:55 -0000 @@ -1488,7 +1488,7 @@ fhandler_socket::read (void *in_ptr, siz len = recv_internal (&wsamsg, false); } -int +ssize_t fhandler_socket::readv (const struct iovec *const iov, const int iovcnt, ssize_t tot) { @@ -1661,7 +1661,7 @@ fhandler_socket::send_internal (struct _ return res; } -int +ssize_t fhandler_socket::write (const void *in_ptr, size_t len) { char *ptr = (char *) in_ptr; @@ -1687,7 +1687,7 @@ fhandler_socket::write (const void *in_p return send_internal (&wsamsg, 0); } -int +ssize_t fhandler_socket::writev (const struct iovec *const iov, const int iovcnt, ssize_t tot) { @@ -1740,7 +1740,7 @@ fhandler_socket::sendto (const void *in_ return send_internal (&wsamsg, flags); } -int +ssize_t fhandler_socket::sendmsg (const struct msghdr *msg, int flags) { /* TODO: Descriptor passing on AF_LOCAL sockets. */