X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/112d728f4858fef5c75e0b25bf6f02af8aa5b83c..ba59bd68fca726026a07806d6625443163c40aef:/log.c diff --git a/log.c b/log.c index 6bc831ca..a2da7875 100644 --- a/log.c +++ b/log.c @@ -3,12 +3,11 @@ * * Copyright (C) 1998-2001 Andrew Tridgell * Copyright (C) 2000-2001 Martin Pool - * 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 ? '+' : '?'; @@ -744,9 +745,8 @@ void maybe_log_item(struct file_struct *file, int iflags, int itemizing, void log_delete(const char *fname, int mode) { static struct { - union flist_extras ex[4]; /* just in case... */ + union file_extras ex[4]; /* just in case... */ struct file_struct file; - char basename[1]; } x; int len = strlen(fname); const char *fmt;