#include "rsync.h"
#include "ifuncs.h"
-extern int verbose;
extern int dry_run;
extern int am_daemon;
extern int am_server;
struct stats stats;
int got_xfer_error = 0;
+int output_needs_newline = 0;
struct {
int code;
exit_cleanup(RERR_MESSAGEIO);
}
+ if (output_needs_newline) {
+ fputc('\n', f);
+ output_needs_newline = 0;
+ }
+
trailing_CR_or_NL = len && (buf[len-1] == '\n' || buf[len-1] == '\r')
? buf[--len] : 0;
+ if (len && buf[0] == '\r') {
+ fputc('\r', f);
+ buf++;
+ len--;
+ }
+
#ifdef ICONV_CONST
if (ic != (iconv_t)-1) {
xbuf outbuf, inbuf;
if (am_daemon || code == FLOG)
return;
- if (code == FINFO && !am_server)
+ if (!am_server && (code == FINFO || code == FCLIENT))
f = stdout;
else
f = stderr;
n = client_addr(0);
break;
case 'l':
- strlcat(fmt, ".0f", sizeof fmt);
+ strlcat(fmt, "s", sizeof fmt);
snprintf(buf2, sizeof buf2, fmt,
- (double)F_LENGTH(file));
+ big_num(F_LENGTH(file), 0));
n = buf2;
break;
case 'U':
break;
case 'M':
n = c = timestring(file->modtime);
- while ((c = strchr(p, ' ')) != NULL)
+ while ((c = strchr(c, ' ')) != NULL)
*c = '-';
break;
case 'B':
b = stats.total_read -
initial_stats->total_read;
}
- strlcat(fmt, ".0f", sizeof fmt);
- snprintf(buf2, sizeof buf2, fmt, (double)b);
+ strlcat(fmt, "s", sizeof fmt);
+ snprintf(buf2, sizeof buf2, fmt, big_num(b, 0));
n = buf2;
break;
case 'c':
b = stats.total_read -
initial_stats->total_read;
}
- strlcat(fmt, ".0f", sizeof fmt);
- snprintf(buf2, sizeof buf2, fmt, (double)b);
+ strlcat(fmt, "s", sizeof fmt);
+ snprintf(buf2, sizeof buf2, fmt, big_num(b, 0));
n = buf2;
break;
case 'i':
{
int significant_flags = iflags & SIGNIFICANT_ITEM_FLAGS;
int see_item = itemizing && (significant_flags || *buf
- || stdout_format_has_i > 1 || (verbose > 1 && stdout_format_has_i));
+ || stdout_format_has_i > 1 || (INFO_GTE(NAME, 2) && stdout_format_has_i));
int local_change = iflags & ITEM_LOCAL_CHANGE && significant_flags;
if (am_server) {
if (logfile_name && !dry_run && see_item
x.file.mode = mode;
- if (!verbose && !stdout_format)
+ if (!INFO_GTE(DEL, 1) && !stdout_format)
;
else if (am_server && protocol_version >= 29 && len < MAXPATHLEN) {
if (S_ISDIR(mode))
void log_exit(int code, const char *file, int line)
{
if (code == 0) {
- rprintf(FLOG,"sent %.0f bytes received %.0f bytes total size %.0f\n",
- (double)stats.total_written,
- (double)stats.total_read,
- (double)stats.total_size);
+ rprintf(FLOG,"sent %s bytes received %s bytes total size %s\n",
+ big_num(stats.total_written, 0),
+ big_num(stats.total_read, 0),
+ big_num(stats.total_size, 0));
} else if (am_server != 2) {
const char *name;