The branch, master has been updated via 8dd6ea1 Fix --delete-missing-args when --relative is active. from 7c8f180 Test asprintf() failure with < 0, not <= 0.
;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 8dd6ea1f1ef743fdc28d00137d7bcb746642ebb6 Author: Wayne Davison <way...@samba.org> Date: Sat Oct 22 10:20:08 2011 -0700 Fix --delete-missing-args when --relative is active. ----------------------------------------------------------------------- Summary of changes: flist.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/flist.c b/flist.c index d3f4f64..6ec3c39 100644 --- a/flist.c +++ b/flist.c @@ -102,6 +102,7 @@ int flist_eof = 0; /* all the file-lists are now known */ #define NORMAL_NAME 0 #define SLASH_ENDING_NAME 1 #define DOTDIR_NAME 2 +#define MISSING_NAME 3 /* Starting from protocol version 26, we always use 64-bit ino_t and dev_t * internally, even if this platform does not allow files to have 64-bit inums. @@ -1933,7 +1934,9 @@ static void send1extra(int f, struct file_struct *file, struct file_list *flist) if (name_type != NORMAL_NAME) { STRUCT_STAT st; - if (link_stat(fbuf, &st, 1) != 0) { + if (name_type == MISSING_NAME) + memset(&st, 0, sizeof st); + else if (link_stat(fbuf, &st, 1) != 0) { interpret_stat_error(fbuf, True); continue; } @@ -2285,7 +2288,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) p = fn; } else fn = p; - send_implied_dirs(f, flist, fbuf, fbuf, p, flags, name_type); + send_implied_dirs(f, flist, fbuf, fbuf, p, flags, + st.st_mode == 0 ? MISSING_NAME : name_type); if (fn == p) continue; } -- The rsync repository. _______________________________________________ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs