+void successful_send(int ndx)
+{
+ char fname[MAXPATHLEN];
+ struct file_struct *file;
+ unsigned int offset;
+
+ if (ndx < 0 || ndx >= the_file_list->count)
+ return;
+
+ file = the_file_list->files[ndx];
+ if (file->dir.root) {
+ offset = stringjoin(fname, sizeof fname,
+ file->dir.root, "/", NULL);
+ } else
+ offset = 0;
+ f_name(file, fname + offset);
+ if (remove_sender_files && do_unlink(fname) == 0 && verbose > 1)
+ rprintf(FINFO, "sender removed %s\n", fname + offset);
+}
+
+static void write_ndx_and_attrs(int f_out, int ndx, int iflags,
+ uchar fnamecmp_type, char *buf, int len)
+{
+ write_int(f_out, ndx);
+ if (protocol_version < 29)
+ return;
+ write_shortint(f_out, iflags);
+ if (iflags & ITEM_BASIS_TYPE_FOLLOWS)
+ write_byte(f_out, fnamecmp_type);
+ if (iflags & ITEM_XNAME_FOLLOWS)
+ write_vstring(f_out, buf, len);
+}