The log_delete() function may now be called even when the client is
authorWayne Davison <wayned@samba.org>
Sat, 26 Feb 2005 04:49:30 +0000 (04:49 +0000)
committerWayne Davison <wayned@samba.org>
Sat, 26 Feb 2005 04:49:30 +0000 (04:49 +0000)
not getting delete messages, which ensures that the daemon's log-
file output includes all deletions when per-file logging is enabled.

log.c

diff --git a/log.c b/log.c
index c96ce90..54c043f 100644 (file)
--- a/log.c
+++ b/log.c
@@ -27,6 +27,7 @@
   */
 #include "rsync.h"
 
+extern int verbose;
 extern int dry_run;
 extern int am_daemon;
 extern int am_server;
@@ -534,7 +535,9 @@ void log_delete(char *fname, int mode)
        file.mode = mode;
        file.basename = fname;
 
-       if (am_server && protocol_version >= 29 && len < MAXPATHLEN) {
+       if (!verbose && !log_format)
+               ;
+       else if (am_server && protocol_version >= 29 && len < MAXPATHLEN) {
                if (S_ISDIR(mode))
                        len++; /* directories include trailing null */
                send_msg(MSG_DELETED, fname, len);
@@ -543,7 +546,7 @@ void log_delete(char *fname, int mode)
                log_formatted(FCLIENT, fmt, "del.", &file, &stats, ITEM_DELETED);
        }
 
-       if (!am_daemon || dry_run)
+       if (!am_daemon || dry_run || !lp_transfer_logging(module_id))
                return;
 
        fmt = daemon_log_format_has_o_or_i ? lp_log_format(module_id) : "%i %n";