ss_read: silence signed vs unsigned comparison warning.
authorDavin McCall <davmac@davmac.org>
Fri, 7 Jul 2017 18:53:13 +0000 (19:53 +0100)
committerDavin McCall <davmac@davmac.org>
Fri, 7 Jul 2017 18:53:13 +0000 (19:53 +0100)
src/dinit-util.h

index 3b4c42c0f33981cc5d30ac58267904197aba079d..947878e5e05964cc837c7a29ec5485469dae58ca 100644 (file)
@@ -5,12 +5,12 @@
 
 // Signal-safe read. Read and re-try if interrupted by signal (EINTR).
 // *May* affect errno even on a successful read (when the return is less than n).
-inline int ss_read(int fd, void * buf, size_t n)
+inline ssize_t ss_read(int fd, void * buf, size_t n)
 {
     char * cbuf = static_cast<char *>(buf);
-    int r = 0;
-    while (r < n) {
-        int res = read(fd, cbuf + r, n - r);
+    ssize_t r = 0;
+    while ((size_t)r < n) {
+        ssize_t res = read(fd, cbuf + r, n - r);
         if (res == 0) {
             return r;
         }