summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2020-04-24 16:14:43 +0200
committerCorinna Vinschen <corinna@vinschen.de>2020-04-24 16:14:43 +0200
commit5a7e130c31dfdf78f2e1b30dd6ec39a842be1336 (patch)
tree765beaf464b87f7d7437b333145f7cae58190d16
parent8a0bdd84b86e4c8c75a134fca05976e9494fef3f (diff)
downloadcygnal-5a7e130c31dfdf78f2e1b30dd6ec39a842be1336.tar.gz
cygnal-5a7e130c31dfdf78f2e1b30dd6ec39a842be1336.tar.bz2
cygnal-5a7e130c31dfdf78f2e1b30dd6ec39a842be1336.zip
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 <corinna@vinschen.de>
-rw-r--r--winsup/cygwin/fhandler.cc6
1 files 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;