+ rprintf(FINFO, "generating and sending sums for %d\n", ndx);
+
+notify_others:
+ write_int(f_out, ndx);
+ if (protocol_version >= 29 && inplace && !read_batch)
+ write_byte(f_out, fnamecmp_type);
+ 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, lenbuf, lb - lenbuf + 1);
+ write_buf(f_out_name, fuzzy_file->basename, len);
+ }
+ }
+ if (itemize_changes) {
+ itemize(file, statret, &st, SID_UPDATING
+ | (always_checksum ? SID_REPORT_CHECKSUM : 0),
+ f_out, -1);
+ }
+
+ if (dry_run || read_batch)
+ return;
+
+ if (statret == 0) {
+ generate_and_send_sums(fd, st.st_size, f_out, f_copy);