From 5a7e130c31dfdf78f2e1b30dd6ec39a842be1336 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 24 Apr 2020 16:14:43 +0200 Subject: [PATCH] Cygwin: file I/O: make sure to treat write return value as ssize_t The return type of fhandler write methods is ssize_t. Don't use an int to store the return value, use ssize_t. Use ptrdiff_t for the buffer size. Signed-off-by: Corinna Vinschen --- winsup/cygwin/fhandler.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc index d754077b1..9d6271b3d 100644 --- a/winsup/cygwin/fhandler.cc +++ b/winsup/cygwin/fhandler.cc @@ -949,9 +949,9 @@ fhandler_base::write (const void *ptr, size_t len) } /* We've got a buffer-full, or we're out of data. Write it out */ - int nbytes; - int want = buf_ptr - buf; - if ((nbytes = raw_write (buf, want)) == want) + ssize_t nbytes; + ptrdiff_t want = buf_ptr - buf; + if ((nbytes = raw_write (buf, (size_t) want)) == want) { /* Keep track of how much written not counting additional \r's */ res = data - (char *)ptr;