diff options
Diffstat (limited to 'src/socket.c')
-rw-r--r-- | src/socket.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/socket.c b/src/socket.c index 2ad5f41..82fee8c 100644 --- a/src/socket.c +++ b/src/socket.c @@ -48,16 +48,15 @@ int sock_connect(const char *host, const char *port) /* -------------------------------------------------------------------- Write to a socket -------------------------------------------------------------------- */ -int sock_write(int sd, const char *buf, size_t len) +ssize_t sock_write(int sd, const char *buf, size_t len) { - ssize_t n; - size_t wrlen = 0; + ssize_t n, wrlen = 0; while (len) { n = write(sd, buf, len); if (n <= 0) return -1; - len -= n; + len -= (size_t)n; wrlen += n; buf += n; } @@ -68,7 +67,7 @@ int sock_write(int sd, const char *buf, size_t len) Read a \n terminated line from a socket -------------------------------------------------------------------- */ -int sock_readln(int sd, char *buf, size_t len) +ssize_t sock_readln(int sd, char *buf, size_t len) { char *newline, *bp = buf; ssize_t n; @@ -86,7 +85,7 @@ int sock_readln(int sd, char *buf, size_t len) if ((n = recv(sd, bp, len, MSG_PEEK)) <= 0) { return -1; } - if ((newline = memchr(bp, '\n', n)) != NULL) { + if ((newline = memchr(bp, '\n', (size_t)n)) != NULL) { n = newline - bp + 1; } if ((n = read(sd, bp, n)) == -1) { |