X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/aa126974ba0c77b29a0896888bd58b2bee750f20..7a176e87d56de890fed07b1621277ab74b21b706:/log.c diff --git a/log.c b/log.c index 045f0317..411889c1 100644 --- a/log.c +++ b/log.c @@ -41,6 +41,7 @@ struct { { RERR_PROTOCOL , "protocol incompatibility" }, { RERR_FILESELECT , "errors selecting input/output files, dirs" }, { RERR_UNSUPPORTED, "requested action not supported" }, + { RERR_STARTCLIENT, "error starting client-server protocol" }, { RERR_SOCKETIO , "error in socket IO" }, { RERR_FILEIO , "error in file IO" }, { RERR_STREAMIO , "error in rsync protocol data stream" }, @@ -236,7 +237,11 @@ void rwrite(enum logcode code, char *buf, int len) return; } - /* if that fails, try to pass it to the other end */ + /* If that fails, try to pass it to the other end. + * + * io_multiplex_write can fail if we do not have a multiplexed + * connection at the moment, in which case we fall through and + * log locally instead. */ if (am_server && io_multiplex_write(code, buf, len)) { return; } @@ -341,6 +346,8 @@ void rsyserr(enum logcode code, int errcode, const char *format, ...) len = vsnprintf(buf, sizeof(buf), format, ap); va_end(ap); + /* TODO: Put in RSYNC_NAME at the start. */ + if ((size_t) len > sizeof(buf)-1) exit_cleanup(RERR_MESSAGEIO); @@ -559,20 +566,16 @@ void log_exit(int code, const char *file, int line) } } - - - -/* log the incoming transfer of a file for interactive use, this - will be called at the end where the client was run - - it i called when a file starts to be transferred -*/ +/* + * Log the incoming transfer of a file for interactive use, + * this will be called at the end where the client was run. + * Called when a file starts to be transferred. + */ void log_transfer(struct file_struct *file, const char *fname) { extern int verbose; if (!verbose) return; - rprintf(FINFO,"%s\n", fname); + rprintf(FINFO, "%s\n", fname); } -