Decided that I like remove-source-files better than remove-sender-files.
[rsync/rsync.git] / hlink.c
diff --git a/hlink.c b/hlink.c
index c5547eb..cd0941f 100644 (file)
--- a/hlink.c
+++ b/hlink.c
 #include "rsync.h"
 
 extern int verbose;
+extern int do_xfers;
 extern int link_dest;
 extern int make_backups;
-extern int log_format_has_i;
+extern int remove_source_files;
+extern int stdout_format_has_i;
 extern char *basis_dir[];
 extern struct file_list *the_file_list;
 
@@ -183,7 +185,7 @@ int hard_link_check(struct file_struct *file, int ndx, char *fname,
                head = hlink_list[file->F_HLINDEX];
        if (ndx != head) {
                struct file_struct *head_file = FPTR(head);
-               if (!log_format_has_i && verbose > 1) {
+               if (!stdout_format_has_i && verbose > 1) {
                        rprintf(FINFO, "\"%s\" is a hard link\n",
                                f_name(file, NULL));
                }
@@ -208,7 +210,7 @@ int hard_link_check(struct file_struct *file, int ndx, char *fname,
                                                        continue;
                                                statret = 1;
                                                st = &st3;
-                                               if (verbose < 2 || !log_format_has_i)
+                                               if (verbose < 2 || !stdout_format_has_i)
                                                        itemizing = code = 0;
                                                break;
                                        }
@@ -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_source_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_source_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