X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/41cfde6be388364f9bf7dfa9a532625b1f660df7..85f14172dc8e0caeff77444e7621724d68b912b9:/receiver.c diff --git a/receiver.c b/receiver.c index 569b8fbd..70978fd9 100644 --- a/receiver.c +++ b/receiver.c @@ -39,7 +39,7 @@ extern int cvs_exclude; extern int io_error; extern char *tmpdir; extern char *partial_dir; -extern char *compare_dest; +extern char *basis_dir[]; extern int make_backups; extern int do_progress; extern char *backup_dir; @@ -289,7 +289,8 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r, offset += len; } - flush_write_file(fd); + if (flush_write_file(fd) < 0) + goto report_write_error; #ifdef HAVE_FTRUNCATE if (inplace && fd != -1) @@ -439,7 +440,8 @@ int recv_files(int f_in, struct file_list *flist, char *local_name, partialptr = partial_dir ? partial_dir_fname(fname) : fname; if (f_in_name >= 0) { - switch (read_byte(f_in_name)) { + uchar j; + switch (j = read_byte(f_in_name)) { case FNAMECMP_FNAME: fnamecmp = fname; break; @@ -449,10 +451,10 @@ int recv_files(int f_in, struct file_list *flist, char *local_name, case FNAMECMP_BACKUP: fnamecmp = get_backup_name(fname); break; - case FNAMECMP_CMPDEST: + case FNAMECMP_BASIS_DIR: default: pathjoin(fnamecmpbuf, sizeof fnamecmpbuf, - compare_dest, fname); + basis_dir[j], fname); fnamecmp = fnamecmpbuf; break; }