- f_name_to(file, fname + offset);
- if (remove_sent_files && do_unlink(fname) == 0 && verbose > 1) {
- rprintf(FINFO, "sender removed %s\n",
- safe_fname(fname + offset));
- }
-}
-
-/* This is also used by receive.c with f_out = -1. */
-int read_iflags(int f_in, int f_out, int ndx, char *buf)
-{
- int iflags = protocol_version >= 29 ? read_shortint(f_in)
- : ITEM_UPDATING | ITEM_MISSING_DATA;
-
- /* Handle the new keep-alive (no-op) packet. */
- if (ndx == the_file_list->count && iflags == ITEM_IS_NEW)
- ;
- else if (ndx < 0 || ndx >= the_file_list->count) {
- rprintf(FERROR, "Invalid file index %d (count=%d) [%s]\n",
- ndx, the_file_list->count, who_am_i());
- exit_cleanup(RERR_PROTOCOL);
- } else if (iflags == ITEM_IS_NEW) {
- rprintf(FERROR, "Invalid itemized flag word [%s]\n",
- who_am_i());
- exit_cleanup(RERR_PROTOCOL);
- }
-
- *buf = '\0';
-
- if ((!(iflags & ITEM_UPDATING) || !S_ISREG(the_file_list->files[ndx]->mode)) && f_out >= 0) {
- write_int(f_out, ndx);
- write_shortint(f_out, iflags);
+ f_name(file, fname + offset);
+ if (remove_source_files) {
+ if (do_unlink(fname) == 0) {
+ if (verbose > 1)
+ rprintf(FINFO, "sender removed %s\n", fname + offset);
+ } else
+ rsyserr(FERROR, errno, "sender failed to remove %s", fname + offset);