X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/bc40a305032db262e72b92c938203fd2bd42e4c9..a8e6e1486960fe2e9ac190ad53e9830f0f3f900a:/main.c diff --git a/main.c b/main.c index ec2e43ae..bf0bb141 100644 --- a/main.c +++ b/main.c @@ -77,7 +77,9 @@ extern char *rsync_path; extern char *shell_cmd; extern char *batch_name; extern char *password_file; +extern char *backup_dir; extern char curr_dir[MAXPATHLEN]; +extern char backup_dir_buf[MAXPATHLEN]; extern char *basis_dir[MAX_BASIS_DIRS+1]; extern struct file_list *first_flist; extern struct filter_list_struct daemon_filter_list; @@ -817,6 +819,16 @@ static int do_recv(int f_in, int f_out, char *local_name) exit_cleanup(RERR_IPC); } + if (backup_dir) { + int ret = make_path(backup_dir_buf, MKP_DROP_NAME); /* drops trailing slash */ + if (ret < 0) + exit_cleanup(RERR_SYNTAX); + if (ret) + rprintf(FINFO, "Created backup_dir %s\n", backup_dir_buf); + else if (INFO_GTE(BACKUP, 1)) + rprintf(FINFO, "backup_dir is %s\n", backup_dir_buf); + } + io_flush(NORMAL_FLUSH); if ((pid = do_fork()) == -1) { @@ -1091,7 +1103,6 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[]) if (write_batch && !am_server) start_write_batch(f_out); flist = send_file_list(f_out, argc, argv); - set_msg_fd_in(-1); if (DEBUG_GTE(FLIST, 3)) rprintf(FINFO,"file list sent\n");