Got rid of protocol-29 check.
[rsync/rsync.git] / log.c
diff --git a/log.c b/log.c
index fedeacd..a2da787 100644 (file)
--- a/log.c
+++ b/log.c
@@ -3,12 +3,11 @@
  *
  * Copyright (C) 1998-2001 Andrew Tridgell <tridge@samba.org>
  * Copyright (C) 2000-2001 Martin Pool <mbp@samba.org>
- * Copyright (C) 2003, 2004, 2005, 2006 Wayne Davison
+ * Copyright (C) 2003-2007 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -516,16 +515,16 @@ static void log_formatted(enum logcode code, const char *format, const char *op,
                                strlcpy(c, fname, MAXPATHLEN);
                        } else
                                c = f_name(file, NULL);
-                       if (am_sender && file->dir.root) {
+                       if (am_sender && F_ROOTDIR(file)) {
                                pathjoin(buf2, sizeof buf2,
-                                        file->dir.root, c);
+                                        F_ROOTDIR(file), c);
                                clean_fname(buf2, 0);
                                if (fmt[1]) {
                                        strlcpy(c, buf2, MAXPATHLEN);
                                        n = c;
                                } else
                                        n = buf2;
-                       } else if (*c != '/') {
+                       } else if (am_daemon && *c != '/') {
                                pathjoin(buf2, sizeof buf2,
                                         curr_dir + module_dirlen, c);
                                clean_fname(buf2, 0);
@@ -625,8 +624,10 @@ static void log_formatted(enum logcode code, const char *format, const char *op,
                        c[5] = !(iflags & ITEM_REPORT_PERMS) ? '.' : 'p';
                        c[6] = !(iflags & ITEM_REPORT_OWNER) ? '.' : 'o';
                        c[7] = !(iflags & ITEM_REPORT_GROUP) ? '.' : 'g';
-                       c[8] = '.';
-                       c[9] = '\0';
+                       c[8] = !(iflags & ITEM_REPORT_ATIME) ? '.' : 'u';
+                       c[9] = !(iflags & ITEM_REPORT_ACL) ? '.' : 'a';
+                       c[10] = !(iflags & ITEM_REPORT_XATTR) ? '.' : 'x';
+                       c[11] = '\0';
 
                        if (iflags & (ITEM_IS_NEW|ITEM_MISSING_DATA)) {
                                char ch = iflags & ITEM_IS_NEW ? '+' : '?';