=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/log.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- src/usr.bin/ssh/log.c 2003/04/08 20:21:28 1.26 +++ src/usr.bin/ssh/log.c 2003/05/18 23:22:01 1.27 @@ -34,7 +34,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: log.c,v 1.26 2003/04/08 20:21:28 itojun Exp $"); +RCSID("$OpenBSD: log.c,v 1.27 2003/05/18 23:22:01 deraadt Exp $"); #include "log.h" #include "xmalloc.h" @@ -331,6 +331,7 @@ void do_log(LogLevel level, const char *fmt, va_list args) { + struct syslog_data sdata = SYSLOG_DATA_INIT; char msgbuf[MSGBUFSIZ]; char fmtbuf[MSGBUFSIZ]; char *txt = NULL; @@ -380,10 +381,11 @@ vsnprintf(msgbuf, sizeof(msgbuf), fmt, args); } if (log_on_stderr) { - fprintf(stderr, "%s\r\n", msgbuf); + snprintf(fmtbuf, sizeof fmtbuf, "%s\r\n", msgbuf); + write(STDERR_FILENO, fmtbuf, strlen(fmtbuf)); } else { - openlog(argv0 ? argv0 : __progname, LOG_PID, log_facility); - syslog(pri, "%.500s", msgbuf); - closelog(); + openlog_r(argv0 ? argv0 : __progname, LOG_PID, log_facility, &sdata); + syslog_r(pri, &sdata, "%.500s", msgbuf); + closelog_r(&sdata); } }