X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/ef9d3a152b5438bb961d3a150634e5811147b3c1..f9185203ee03152001530db5624a2b8c93e1ea94:/log.c diff --git a/log.c b/log.c index 6fbdfc7b..5b4773fb 100644 --- a/log.c +++ b/log.c @@ -97,13 +97,14 @@ struct { { RERR_MALLOC , "error allocating core memory buffers" }, { RERR_PARTIAL , "some files/attrs were not transferred (see previous errors)" }, { RERR_VANISHED , "some files vanished before they could be transferred" }, + { RERR_DEL_LIMIT , "the --max-delete limit stopped deletions" }, { RERR_TIMEOUT , "timeout in data send/receive" }, { RERR_CONTIMEOUT , "timeout waiting for daemon connection" }, + { RERR_RCVR_ERROR , "exiting due to receiver error" }, { RERR_CMD_FAILED , "remote shell failed" }, { RERR_CMD_KILLED , "remote shell killed" }, { RERR_CMD_RUN , "remote command could not be run" }, { RERR_CMD_NOTFOUND,"remote command not found" }, - { RERR_DEL_LIMIT , "the --max-delete limit stopped deletions" }, { 0, NULL } }; @@ -265,10 +266,16 @@ void rwrite(enum logcode code, const char *buf, int len, int is_utf8) if (len < 0) exit_cleanup(RERR_MESSAGEIO); - if (msgs2stderr && code != FLOG) - goto output_msg; - - if (send_msgs_to_gen) { + if (msgs2stderr) { + if (!am_daemon) { + if (code == FLOG) + return; + goto output_msg; + } + if (code == FCLIENT) + return; + code = FLOG; + } else if (send_msgs_to_gen) { assert(!is_utf8); /* Pass the message to our sibling in native charset. */ send_msg((enum msgcode)code, buf, len, 0);