From 3358c617ade9c3143b61a1714f61d2fe7dd90fa2 Mon Sep 17 00:00:00 2001 From: Michael Spang Date: Fri, 30 Jan 2009 23:40:22 -0500 Subject: [PATCH] Disable logging to stderr if it is not a tty --- src/addclub.c | 2 +- src/addmember.c | 2 +- src/util.c | 13 +++++++++++-- src/util.h | 1 + 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/addclub.c b/src/addclub.c index f8d8016..b2cdbef 100644 --- a/src/addclub.c +++ b/src/addclub.c @@ -146,7 +146,7 @@ int main(int argc, char *argv[]) { int opt; prog = basename(argv[0]); - openlog(prog, 0, LOG_AUTHPRIV); + init_log(prog, LOG_PID, LOG_AUTHPRIV); configure(); diff --git a/src/addmember.c b/src/addmember.c index 7decb9a..b7ad875 100644 --- a/src/addmember.c +++ b/src/addmember.c @@ -154,7 +154,7 @@ int main(int argc, char *argv[]) { int opt; prog = basename(argv[0]); - openlog(prog, 0, LOG_AUTHPRIV); + init_log(prog, LOG_PID, LOG_AUTHPRIV); configure(); diff --git a/src/util.c b/src/util.c index 917b864..f373fe0 100644 --- a/src/util.c +++ b/src/util.c @@ -10,6 +10,13 @@ static char message[4096]; +static int log_stderr = 1; + +void init_log(const char *ident, int option, int facility) { + openlog(ident, option, facility); + log_stderr = isatty(STDERR_FILENO); +} + static void errmsg(int prio, const char *prefix, const char *fmt, va_list args) { char *msgp = message; @@ -25,7 +32,8 @@ static void errmsg(int prio, const char *prefix, const char *fmt, va_list args) *msgp++ = '\0'; syslog(prio, "%s", message); - fputs(message, stderr); + if (log_stderr) + fputs(message, stderr); } static void errmsgpe(int prio, const char *prefix, const char *fmt, va_list args) { @@ -47,7 +55,8 @@ static void errmsgpe(int prio, const char *prefix, const char *fmt, va_list args *msgp++ = '\0'; syslog(prio, "%s", message); - fputs(message, stderr); + if (log_stderr) + fputs(message, stderr); } NORETURN static void die(int prio, const char *prefix, const char *msg, va_list args) { diff --git a/src/util.h b/src/util.h index bd01b11..a4ab2d2 100644 --- a/src/util.h +++ b/src/util.h @@ -16,6 +16,7 @@ #endif int spawnv(const char *, char *[]); +void init_log(const char *ident, int option, int facility); NORETURN void fatal(const char *, ...); NORETURN void fatalpe(const char *, ...);