X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/e86ae6bc1f3403259e3ca003767dcae2d114df6f..b694f8a245b19c0e2c80fbeac5b2c991cfb2ced9:/generator.c diff --git a/generator.c b/generator.c index 6e5f9a31..b8888f9d 100644 --- a/generator.c +++ b/generator.c @@ -950,7 +950,7 @@ prepare_to_open: statret = 0; } - if (dry_run || read_batch || whole_file > 0) + if (dry_run || read_batch || whole_file) goto notify_others; if (fuzzy_basis) { @@ -1021,26 +1021,15 @@ notify_others: if (f_out_name >= 0) { write_byte(f_out_name, fnamecmp_type); if (fnamecmp_type == FNAMECMP_FUZZY) { - uchar lenbuf[3], *lb = lenbuf; - int len = strlen(fuzzy_file->basename); - if (len > 0x7F) { -#if MAXPATHLEN > 0x7FFF - *lb++ = len / 0x10000 + 0x80; - *lb++ = len / 0x100; -#else - *lb++ = len / 0x100 + 0x80; -#endif - } - *lb = len; - write_buf(f_out_name, (char*)lenbuf, lb - lenbuf + 1); - write_buf(f_out_name, fuzzy_file->basename, len); + write_vstring(f_out_name, fuzzy_file->basename, + strlen(fuzzy_file->basename)); } } if (dry_run || read_batch) return; - if (statret != 0 || whole_file > 0) { + if (statret != 0 || whole_file) { write_sum_head(f_out, NULL); return; } @@ -1102,9 +1091,11 @@ void generate_files(int f_out, struct file_list *flist, char *local_name, if (delete_before && !local_name && flist->count > 0) do_delete_pass(flist, allowed_lull); + if (whole_file < 0) + whole_file = 0; if (verbose >= 2) { rprintf(FINFO, "delta-transmission %s\n", - whole_file > 0 + whole_file ? "disabled for local transfer or --whole-file" : "enabled"); }