From 841d943651fc23b8a1188f2b4d6e8ec1689de6cd Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Fri, 30 Jun 2006 15:42:29 +0000 Subject: [PATCH] Handle the --remove-sender-files option by sending MSG_SUCCESS for any file that is being hard-linked. --- hlink.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hlink.c b/hlink.c index 65ddd158..2cd1c6e0 100644 --- a/hlink.c +++ b/hlink.c @@ -24,8 +24,10 @@ #include "rsync.h" extern int verbose; +extern int do_xfers; extern int link_dest; extern int make_backups; +extern int remove_sender_files; extern int stdout_format_has_i; extern char *basis_dir[]; extern struct file_list *the_file_list; @@ -222,6 +224,11 @@ int hard_link_check(struct file_struct *file, int ndx, char *fname, } maybe_hard_link(file, ndx, fname, statret, st, toname, &st2, itemizing, code); + if (remove_sender_files == 1 && do_xfers) { + char numbuf[4]; + SIVAL(numbuf, 0, ndx); + send_msg(MSG_SUCCESS, numbuf, 4); + } file->F_HLINDEX = FINISHED_LINK; } else file->F_HLINDEX = SKIPPED_LINK; @@ -287,6 +294,11 @@ void hard_link_cluster(struct file_struct *file, int master, int itemizing, statret = link_stat(hlink2, &st2, 0); maybe_hard_link(file, ndx, hlink2, statret, &st2, hlink1, &st1, itemizing, code); + if (remove_sender_files == 1 && do_xfers) { + char numbuf[4]; + SIVAL(numbuf, 0, ndx); + send_msg(MSG_SUCCESS, numbuf, 4); + } file->F_HLINDEX = FINISHED_LINK; } while (!(file->flags & FLAG_HLINK_EOL)); #endif -- 2.34.1