Fix casts when some variables are printed out.
[rsync/rsync.git] / clientserver.c
index 1baa1e0..dd383d0 100644 (file)
@@ -117,6 +117,9 @@ int start_socket_client(char *host, char *path, int argc, char *argv[])
                }
 
                if (strcmp(line,"@RSYNCD: OK") == 0) break;
+
+               if (strcmp(line,"@RSYNCD: EXIT") == 0) exit(0);
+
                rprintf(FINFO,"%s\n", line);
        }
 
@@ -258,13 +261,13 @@ static int rsync_module(int fd, int i)
 
        if (am_root) {
                if (setgid(gid)) {
-                       rsyserr(FERROR, errno, "setgid %d failed", gid);
+                       rsyserr(FERROR, errno, "setgid %d failed", (int) gid);
                        io_printf(fd,"@ERROR: setgid failed\n");
                        return -1;
                }
 
                if (setuid(uid)) {
-                       rsyserr(FERROR, errno, "setuid %d failed", uid);
+                       rsyserr(FERROR, errno, "setuid %d failed", (int) uid);
                        io_printf(fd,"@ERROR: setuid failed\n");
                        return -1;
                }
@@ -381,6 +384,8 @@ static void send_listing(int fd)
        for (i=0;i<n;i++)
                if (lp_list(i))
                    io_printf(fd, "%-15s\t%s\n", lp_name(i), lp_comment(i));
+
+       io_printf(fd, "@RSYNCD: EXIT\n");
 }
 
 /* this is called when a socket connection is established to a client