X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/3648ab3a2474ba318291dc9184cd68fa7b120591..c64ca7ef58bf3b2eb41cd0d1cd809fe934be4d8a:/log.c diff --git a/log.c b/log.c index 4b78d25b..034aaccb 100644 --- a/log.c +++ b/log.c @@ -39,11 +39,13 @@ extern int local_server; extern int quiet; extern int module_id; extern int msg_fd_out; +extern int allow_8bit_chars; extern int protocol_version; extern int preserve_times; extern int log_format_has_i; extern int log_format_has_o_or_i; extern int daemon_log_format_has_o_or_i; +extern mode_t orig_umask; extern char *auth_user; extern char *log_format; #if defined HAVE_ICONV_OPEN && defined HAVE_ICONV_H @@ -142,8 +144,7 @@ static void syslog_init() static void logfile_open(void) { - extern int orig_umask; - int old_umask = umask(022 | orig_umask); + mode_t old_umask = umask(022 | orig_umask); logfile = fopen(logfname, "a"); umask(old_umask); if (!logfile) { @@ -318,7 +319,7 @@ void rwrite(enum logcode code, char *buf, int len) filtered_fwrite(f, convbuf, out_buf - convbuf, 0); } else #endif - filtered_fwrite(f, buf, len, 1); + filtered_fwrite(f, buf, len, !allow_8bit_chars); if (trailing_CR_or_NL) { fputc(trailing_CR_or_NL, f); @@ -607,7 +608,8 @@ static void log_formatted(enum logcode code, char *format, char *op, n[5] = !(iflags & ITEM_REPORT_PERMS) ? '.' : 'p'; n[6] = !(iflags & ITEM_REPORT_OWNER) ? '.' : 'o'; n[7] = !(iflags & ITEM_REPORT_GROUP) ? '.' : 'g'; - n[8] = '\0'; + n[8] = '.'; + n[9] = '\0'; if (iflags & (ITEM_IS_NEW|ITEM_MISSING_DATA)) { char ch = iflags & ITEM_IS_NEW ? '+' : '?';