]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - support/nfs/cacheio.c
mountd: Avoid unnecessary type conversions
[nfs-utils.git] / support / nfs / cacheio.c
index bdf5d849b1baa353d1939cc84b3a486d93354173..e641c4535c652c803dc067e4cfe3f4633bc28b12 100644 (file)
@@ -148,6 +148,16 @@ void qword_printint(FILE *f, int num)
        fprintf(f, "%d ", num);
 }
 
+void qword_printuint(FILE *f, unsigned int num)
+{
+       fprintf(f, "%u ", num);
+}
+
+void qword_printtimefrom(FILE *f, unsigned int num)
+{
+       fprintf(f, "%lu ", time(0) + num);
+}
+
 int qword_eol(FILE *f)
 {
        int err;
@@ -236,6 +246,20 @@ int qword_get_int(char **bpp, int *anint)
        return 0;
 }
 
+int qword_get_uint(char **bpp, unsigned int *anint)
+{
+       char buf[50];
+       char *ep;
+       unsigned int rv;
+       int len = qword_get(bpp, buf, 50);
+       if (len < 0) return -1;
+       if (len ==0) return -1;
+       rv = strtoul(buf, &ep, 0);
+       if (*ep) return -1;
+       *anint = rv;
+       return 0;
+}
+
 #define READLINE_BUFFER_INCREMENT 2048
 
 int readline(int fd, char **buf, int *lenp)
@@ -330,7 +354,7 @@ cache_flush(int force)
                sprintf(path, "/proc/net/rpc/%s/flush", cachelist[c]);
                fd = open(path, O_RDWR);
                if (fd >= 0) {
-                       if (write(fd, stime, strlen(stime)) != strlen(stime)) {
+                       if (write(fd, stime, strlen(stime)) != (ssize_t)strlen(stime)) {
                                xlog_warn("Writing to '%s' failed: errno %d (%s)",
                                path, errno, strerror(errno));
                        }