Tweaked some whitespace to match the latest version from autoconf.
[rsync/rsync.git] / clientserver.c
index 4c8057e..8a46f69 100644 (file)
@@ -728,18 +728,20 @@ static void send_listing(int fd)
 int start_daemon(int f_in, int f_out)
 {
        char line[1024];
-       char *motd;
-       char *addr = client_addr(f_in);
-       char *host = client_name(f_in);
+       char *motd, *addr, *host;
        int i;
 
        io_set_sock_fds(f_in, f_out);
 
+       /* We must load the config file before calling any function that
+        * might cause log-file output to occur.  This ensures that the
+        * "log file" param gets honored for the 2 non-forked use-cases
+        * (when rsync is run by init and run by a remote shell). */
        if (!lp_load(config_file, 0))
                exit_cleanup(RERR_SYNTAX);
 
-       log_init();
-
+       addr = client_addr(f_in);
+       host = client_name(f_in);
        rprintf(FLOG, "connect from %s (%s)\n", host, addr);
 
        if (!am_server) {