From ec9738cbd87ae53db3f887529b73663f5b530e39 Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Sat, 12 Apr 2008 16:43:12 +0200 Subject: [PATCH] read/write return type should be ssize_t, not int or size_t. The writev emulation used size_t, which is unsigned, preventing negative values to be seen. libratbox r25225 --- libratbox/src/commio.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libratbox/src/commio.c b/libratbox/src/commio.c index 886880b..12be960 100644 --- a/libratbox/src/commio.c +++ b/libratbox/src/commio.c @@ -950,7 +950,7 @@ rb_get_fde(int fd) ssize_t rb_read(rb_fde_t *F, void *buf, int count) { - int ret; + ssize_t ret; if(F == NULL) return 0; @@ -982,7 +982,7 @@ rb_read(rb_fde_t *F, void *buf, int count) ssize_t rb_write(rb_fde_t *F, const void *buf, int count) { - int ret; + ssize_t ret; if(F == NULL) return 0; @@ -1008,11 +1008,11 @@ rb_write(rb_fde_t *F, const void *buf, int count) static ssize_t rb_fake_writev(rb_fde_t *F, const struct rb_iovec *vp, size_t vpcount) { - size_t count = 0; + ssize_t count = 0; while (vpcount-- > 0) { - size_t written = rb_write(F, vp->iov_base, vp->iov_len); + ssize_t written = rb_write(F, vp->iov_base, vp->iov_len); if (written <= 0) {