From: Wayne Davison Date: Fri, 16 Jun 2006 09:01:31 +0000 (+0000) Subject: Make sure that the %f escape always has the full path info when X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/6fb7cc38a2f01d8e4ce0e2e1aa79ed31e2cfa9f8 Make sure that the %f escape always has the full path info when receiving files. --- diff --git a/log.c b/log.c index 20132c39..1c577efb 100644 --- a/log.c +++ b/log.c @@ -49,6 +49,8 @@ extern char *logfile_name; #if defined HAVE_ICONV_OPEN && defined HAVE_ICONV_H extern iconv_t ic_chck; #endif +extern char curr_dir[]; +extern unsigned int module_dirlen; static int log_initialised; static int logfile_was_closed; @@ -513,8 +515,18 @@ static void log_formatted(enum logcode code, char *format, char *op, strlcpy(n, buf2, MAXPATHLEN); else n = buf2; - } else - clean_fname(n, 0); + } else { + if (*n != '/') { + pathjoin(buf2, sizeof buf2, + curr_dir + module_dirlen, n); + clean_fname(buf2, 0); + if (fmt[1]) + strlcpy(n, buf2, MAXPATHLEN); + else + n = buf2; + } else + clean_fname(n, 0); + } if (*n == '/') n++; break;