Fix casts when some variables are printed out.
[rsync/rsync.git] / clientserver.c
index a4e9e82..dd383d0 100644 (file)
@@ -63,7 +63,7 @@ int start_socket_client(char *host, char *path, int argc, char *argv[])
         }
         
        if (*path == '/') {
-               rprintf(FERROR,"ERROR: The remote path must start with a module name\n");
+               rprintf(FERROR,"ERROR: The remote path must start with a module name not a /\n");
                return -1;
        }
 
@@ -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);
        }
 
@@ -196,7 +199,7 @@ static int rsync_module(int fd, int i)
                if (!name_to_uid(p, &uid)) {
                        if (!isdigit(*p)) {
                                rprintf(FERROR,"Invalid uid %s\n", p);
-                               io_printf(fd,"@ERROR: invalid uid\n");
+                               io_printf(fd,"@ERROR: invalid uid %s\n", p);
                                return -1;
                        } 
                        uid = atoi(p);
@@ -206,7 +209,7 @@ static int rsync_module(int fd, int i)
                if (!name_to_gid(p, &gid)) {
                        if (!isdigit(*p)) {
                                rprintf(FERROR,"Invalid gid %s\n", p);
-                               io_printf(fd,"@ERROR: invalid gid\n");
+                               io_printf(fd,"@ERROR: invalid gid %s\n", p);
                                return -1;
                        } 
                        gid = atoi(p);
@@ -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
@@ -499,7 +504,7 @@ int daemon_main(void)
                    rsyserr(FLOG, errno, "failed to create pid file %s", pid_file);
                    exit_cleanup(RERR_FILEIO);
                }
-               slprintf(pidbuf, sizeof(pidbuf), "%d\n", pid);
+               snprintf(pidbuf, sizeof(pidbuf), "%d\n", pid);
                write(fd, pidbuf, strlen(pidbuf));
                close(fd);
        }