X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/e63aeb6d68aff4668064dd3a44b6979fab0733a8..01d124d9e251317cdd9f12fb170a94e65f3c5e18:/log.c diff --git a/log.c b/log.c index 87e119f8..7fd37e42 100644 --- a/log.c +++ b/log.c @@ -1,30 +1,25 @@ -/* -*- c-file-style: "linux"; -*- - - Copyright (C) 1998-2001 by Andrew Tridgell - Copyright (C) 2000-2001 by Martin Pool - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - /* - Logging and utility functions. - tridge, May 1998 + * Logging and utility functions. + * + * Copyright (C) 1998-2001 Andrew Tridgell + * Copyright (C) 2000-2001 Martin Pool + * Copyright (C) 2003, 2004, 2005, 2006 Wayne Davison + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + */ - Mapping to human-readable messages added by Martin Pool - , Oct 2000. - */ #include "rsync.h" #if defined HAVE_ICONV_OPEN && defined HAVE_ICONV_H #include @@ -52,13 +47,13 @@ extern char *log_format; extern iconv_t ic_chck; #endif +static int log_initialised; static int logfile_was_closed; static char *logfname; static FILE *logfile; struct stats stats; int log_got_error = 0; -int log_initialised; struct { int code; @@ -159,17 +154,14 @@ static void logfile_open(void) void log_init(void) { - time_t t; - if (log_initialised) return; log_initialised = 1; - /* this looks pointless, but it is needed in order for the + /* This looks pointless, but it is needed in order for the * C library on some systems to fetch the timezone info - * before the chroot */ - t = time(NULL); - localtime(&t); + * before the chroot. */ + timestring(time(NULL)); /* optionally use a log file instead of syslog */ logfname = lp_log_file(); @@ -264,7 +256,7 @@ void rwrite(enum logcode code, char *buf, int len) if (am_server) { /* Pass the message to the non-server side. */ - if (io_multiplex_write((enum msgcode)code, buf, len)) + if (send_msg((enum msgcode)code, buf, len)) return; if (am_daemon) { /* TODO: can we send the error to the user somehow? */ @@ -769,7 +761,7 @@ void log_exit(int code, const char *file, int line) /* VANISHED is not an error, only a warning */ if (code == RERR_VANISHED) { - rprintf(FINFO, "rsync warning: %s (code %d) at %s(%d) [%s=%s]\n", + rprintf(FINFO, "rsync warning: %s (code %d) at %s(%d) [%s=%s]\n", name, code, file, line, who_am_i(), RSYNC_VERSION); } else { rprintf(FERROR, "rsync error: %s (code %d) at %s(%d) [%s=%s]\n",