|
|
- From 7720c6cbb7ff30abc1c4d85aada869294cc3db47 Mon Sep 17 00:00:00 2001
- From: Brent Cook <busterb@gmail.com>
- Date: Sun, 4 Jan 2015 22:19:51 -0600
- Subject: [PATCH 01/12] make fatal/fatalx variadic like the other logging
- functions
-
- this factors out the guts of log_warn and adds logerr
- ---
- src/usr.sbin/ntpd/log.c | 54 +++++++++++++++++++++++++++---------------------
- src/usr.sbin/ntpd/ntpd.h | 4 ++--
- 2 files changed, 32 insertions(+), 26 deletions(-)
-
- diff --git a/src/usr.sbin/ntpd/log.c b/src/usr.sbin/ntpd/log.c
- index 618f4cc..e92924e 100644
- --- a/src/usr.sbin/ntpd/log.c
- +++ b/src/usr.sbin/ntpd/log.c
- @@ -71,29 +71,33 @@ vlog(int pri, const char *fmt, va_list ap)
- vsyslog(pri, fmt, ap);
- }
-
- -
- void
- -log_warn(const char *emsg, ...)
- +vlogerr(int pri, const char *fmt, va_list ap)
- {
- char *nfmt;
- - va_list ap;
-
- /* best effort to even work in out of memory situations */
- - if (emsg == NULL)
- - logit(LOG_CRIT, "%s", strerror(errno));
- - else {
- - va_start(ap, emsg);
- -
- - if (asprintf(&nfmt, "%s: %s", emsg, strerror(errno)) == -1) {
- + if (fmt) {
- + if (asprintf(&nfmt, "%s: %s", fmt, strerror(errno)) == -1) {
- /* we tried it... */
- - vlog(LOG_CRIT, emsg, ap);
- + vlog(LOG_CRIT, fmt, ap);
- logit(LOG_CRIT, "%s", strerror(errno));
- } else {
- vlog(LOG_CRIT, nfmt, ap);
- free(nfmt);
- }
- - va_end(ap);
- - }
- + } else
- + logit(LOG_CRIT, "%s", strerror(errno));
- +}
- +
- +void
- +log_warn(const char *emsg, ...)
- +{
- + va_list ap;
- +
- + va_start(ap, emsg);
- + vlogerr(LOG_CRIT, emsg, ap);
- + va_end(ap);
- }
-
- void
- @@ -129,25 +133,27 @@ log_debug(const char *emsg, ...)
- }
-
- void
- -fatal(const char *emsg)
- +fatal(const char *emsg, ...)
- {
- - if (emsg == NULL)
- - logit(LOG_CRIT, "fatal: %s", strerror(errno));
- - else
- - if (errno)
- - logit(LOG_CRIT, "fatal: %s: %s",
- - emsg, strerror(errno));
- - else
- - logit(LOG_CRIT, "fatal: %s", emsg);
- + va_list ap;
- +
- + va_start(ap, emsg);
- + vlogerr(LOG_CRIT, emsg, ap);
- + va_end(ap);
-
- exit(1);
- }
-
- void
- -fatalx(const char *emsg)
- +fatalx(const char *emsg, ...)
- {
- - errno = 0;
- - fatal(emsg);
- + va_list ap;
- +
- + va_start(ap, emsg);
- + vlog(LOG_CRIT, emsg, ap);
- + va_end(ap);
- +
- + exit(1);
- }
-
- const char *
- diff --git a/src/usr.sbin/ntpd/ntpd.h b/src/usr.sbin/ntpd/ntpd.h
- index 4a768d8..31bc5a0 100644
- --- a/src/usr.sbin/ntpd/ntpd.h
- +++ b/src/usr.sbin/ntpd/ntpd.h
- @@ -269,8 +269,8 @@ void log_warn(const char *, ...);
- void log_warnx(const char *, ...);
- void log_info(const char *, ...);
- void log_debug(const char *, ...);
- -void fatal(const char *);
- -void fatalx(const char *);
- +void fatal(const char *, ...);
- +void fatalx(const char *, ...);
- const char *log_sockaddr(struct sockaddr *);
-
- /* ntp.c */
- --
- 1.9.1
-
|