src/server/util/io.c

changeset 70
4e6e812c1d97
parent 69
4a10bc0ee80d
child 71
069c152f6272
--- a/src/server/util/io.c	Thu Jun 20 13:27:07 2013 +0200
+++ b/src/server/util/io.c	Thu Jun 20 14:07:46 2013 +0200
@@ -95,7 +95,7 @@
         struct iovec io[2];
         char chunk_len[16];
         io[0].iov_base = chunk_len;
-        io[0].iov_len = snprintf(chunk_len, 16, "\n%x\r\n", nbytes);
+        io[0].iov_len = snprintf(chunk_len, 16, "\n%zx\r\n", nbytes);
         io[1].iov_base = buf;
         io[1].iov_len = nbytes;
         ssize_t r = writev(st->fd, io, 2);
@@ -114,7 +114,7 @@
         for(int i=0;i<iovcnt;i++) {
             len += iovec[i].iov_len;
         }
-        io[0].iov_len = snprintf(chunk_len, 16, "\n%x\r\n", len);
+        io[0].iov_len = snprintf(chunk_len, 16, "\n%zx\r\n", len);
         memcpy(io + 1, iovec, iovcnt * sizeof(struct iovec));
         ssize_t r = writev(st->fd, io, iovcnt + 1);
         return r - io[0].iov_len;
@@ -150,7 +150,8 @@
         hdtr.trailers = &trvec;
         hdtr.trl_cnt = 1;
         
-        ret = sendfile(sfd->fd->fd, st->fd, sfd->offset, (off_t*)&sfd->len, &hdtr, 0);
+        off_t len = sfd->len;
+        ret = sendfile(sfd->fd->fd, st->fd, sfd->offset, &len, &hdtr, 0);
 #else
         ret = sendfile(st->fd, sfd->fd->fd, &fileoffset, sfd->len);
 #endif

mercurial