signed, unsigned fix - sob - simple output bar
(HTM) git clone git://git.codemadness.org/sob
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 0b974dd40e0a43e83656172f1af3067a438b86c4
(DIR) parent 611985a88db127b299c44e334577c447457d4fd3
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 24 Oct 2014 22:46:27 +0000
signed, unsigned fix
Diffstat:
M sob.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
---
(DIR) diff --git a/sob.c b/sob.c
@@ -550,7 +550,8 @@ line_copywordcursor(char *buf, size_t bufsiz)
static int
readfd(int fd, char *buf, size_t len) {
- size_t r, i = 0;
+ size_t i = 0;
+ ssize_t r;
while(len > 0) {
if((r = read(fd, &buf[i], len)) == -1) {
@@ -562,15 +563,16 @@ readfd(int fd, char *buf, size_t len) {
} else if(r == 0) {
return i;
}
- i += r;
- len -= r;
+ i += (size_t)r;
+ len -= (size_t)r;
}
return i;
}
static int
writefd(int fd, char *buf, size_t len) {
- size_t w, i = 0;
+ size_t i = 0;
+ ssize_t w;
while(len > 0) {
if((w = write(fd, &buf[i], len)) == -1) {
@@ -582,8 +584,8 @@ writefd(int fd, char *buf, size_t len) {
} else if(w == 0) {
return i;
}
- i += w;
- len -= w;
+ i += (size_t)w;
+ len -= (size_t)w;
}
return i;
}