summaryrefslogtreecommitdiff
path: root/src/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/socket.c')
-rw-r--r--src/socket.c11
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) {