X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/d3a4375f78be4a784abc0c95fc8c99f979decc3f..f38bd4a07235e63dbfa02a8d72850556ae8810fb:/generator.c diff --git a/generator.c b/generator.c index 84958b82..b8968925 100644 --- a/generator.c +++ b/generator.c @@ -46,8 +46,6 @@ extern char *compare_dest; extern int link_dest; extern int whole_file; extern int local_server; -extern int read_batch; -extern int write_batch; extern int list_only; extern int only_existing; extern int orig_umask; @@ -201,24 +199,6 @@ static void sum_sizes_sqroot(struct sum_struct *sum, uint64 len) } } -/** - * Perhaps we want to just send an empty checksum set for this file, - * which will force the whole thing to be literally transferred. - * - * When do we do this? If the user's explicitly said they - * want the whole thing, or if { they haven't explicitly - * requested a delta, and it's local but not batch mode.} - * - * Whew. */ -static BOOL disable_deltas_p(void) -{ - if (whole_file > 0) - return True; - if (whole_file == 0 || write_batch || read_batch) - return False; - return local_server; -} - /* * Generate and send a stream of signatures/checksums that describe a buffer @@ -258,15 +238,16 @@ static void generate_and_send_sums(struct map_struct *buf, size_t len, int f_out -/** +/* * Acts on file number @p i from @p flist, whose name is @p fname. * * First fixes up permissions, then generates checksums for the file. * * @note This comment was added later by mbp who was trying to work it * out. It might be wrong. - **/ -void recv_generator(char *fname, struct file_struct *file, int i, int f_out) + */ +static void recv_generator(char *fname, struct file_struct *file, int i, + int f_out) { int fd; STRUCT_STAT st; @@ -500,7 +481,7 @@ void recv_generator(char *fname, struct file_struct *file, int i, int f_out) return; } - if (disable_deltas_p()) { + if (whole_file > 0) { write_int(f_out,i); write_sum_head(f_out, NULL); return; @@ -542,10 +523,10 @@ void recv_generator(char *fname, struct file_struct *file, int i, int f_out) } -void generate_files(int f, struct file_list *flist, char *local_name) +void generate_files(int f_out, struct file_list *flist, char *local_name) { int i; - int phase=0; + int phase = 0; char fbuf[MAXPATHLEN]; if (verbose > 2) { @@ -555,7 +536,7 @@ void generate_files(int f, struct file_list *flist, char *local_name) if (verbose >= 2) { rprintf(FINFO, - disable_deltas_p() + whole_file > 0 ? "delta-transmission disabled for local transfer or --whole-file\n" : "delta transmission enabled\n"); } @@ -583,31 +564,31 @@ void generate_files(int f, struct file_list *flist, char *local_name) } recv_generator(local_name ? local_name : f_name_to(file, fbuf), - file, i, f); + file, i, f_out); } phase++; csum_length = SUM_LENGTH; - ignore_times=1; + ignore_times = 1; if (verbose > 2) rprintf(FINFO,"generate_files phase=%d\n",phase); - write_int(f,-1); + write_int(f_out, -1); /* files can cycle through the system more than once * to catch initial checksum errors */ while ((i = get_redo_num()) != -1) { struct file_struct *file = flist->files[i]; recv_generator(local_name ? local_name : f_name_to(file, fbuf), - file, i, f); + file, i, f_out); } phase++; if (verbose > 2) rprintf(FINFO,"generate_files phase=%d\n",phase); - write_int(f,-1); + write_int(f_out, -1); if (preserve_hard_links) do_hard_links();