-@@ -516,6 +625,8 @@ static void recv_generator(char *fname,
- /* pretend the file didn't exist */
- if (preserve_hard_links && hard_link_check(file, HL_SKIP))
- return;
-+ if (f_nameout >= 0)
-+ write(f_nameout, "", 1);
- write_int(f_out,i);
- write_sum_head(f_out, NULL);
- return;
-@@ -534,6 +645,8 @@ static void recv_generator(char *fname,
- if (verbose > 2)
- rprintf(FINFO, "generating and sending sums for %d\n", i);
-
-+ if (f_nameout >= 0)
-+ write(f_nameout, fnamecmpbuf, strlen(fnamecmpbuf) + 1);
- write_int(f_out,i);
- generate_and_send_sums(mapbuf, st.st_size, f_out);
-
-@@ -543,7 +656,8 @@ static void recv_generator(char *fname,
- }
-
-
--void generate_files(int f, struct file_list *flist, char *local_name)
-+void generate_files(int f, struct file_list *flist, char *local_name,
-+ int f_nameout)
- {
- int i;
- int phase = 0;
-@@ -584,7 +698,7 @@ void generate_files(int f, struct file_l
- }
-
- recv_generator(local_name ? local_name : f_name_to(file, fbuf),
-- file, i, f);
-+ file, i, f, f_nameout);
- }
-
- phase++;
-@@ -601,7 +715,7 @@ void generate_files(int f, struct file_l
- 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, f_nameout);
- }
-
- phase++;
-@@ -620,7 +734,7 @@ void generate_files(int f, struct file_l
- if (!file->basename || !S_ISDIR(file->mode))
- continue;
- recv_generator(local_name ? local_name : f_name(file),
-- file, i, -1);
-+ file, i, -1, -1);
- }
-
- if (verbose > 2)
---- main.c 30 Jun 2004 07:27:30 -0000 1.202
-+++ main.c 30 Jun 2004 07:43:47 -0000
-@@ -429,7 +429,7 @@ static int do_recv(int f_in,int f_out,st
- {
+--- orig/main.c 2005-01-17 23:11:45
++++ main.c 2005-01-14 18:33:15
+@@ -48,6 +48,7 @@ extern int keep_dirlinks;
+ extern int preserve_hard_links;
+ extern int protocol_version;
+ extern int recurse;
++extern int fuzzy_basis;
+ extern int relative_paths;
+ extern int rsync_port;
+ extern int whole_file;
+@@ -464,7 +465,8 @@ static int do_recv(int f_in,int f_out,st