On Sun, Oct 16, 2016 at 02:55:39PM -0700, Philip Guenther wrote:
>
> Instead of using errno as a hidden argument to vfatal(), make it an
> _actual_ argument named 'code', ala the errc/warnc family, and rename it
> to vfatalc() to match the pattern set.
>
> ok?
>
> Philip Guenther
>
Isn't this code used elsewhere too?
Reyk should probably comment on this.
-ml
> Index: log.c
> ===================================================================
> RCS file: /data/src/openbsd/src/usr.sbin/vmd/log.c,v
> retrieving revision 1.3
> diff -u -p -r1.3 log.c
> --- log.c 12 Oct 2016 11:47:34 -0000 1.3
> +++ log.c 16 Oct 2016 21:17:40 -0000
> @@ -165,11 +165,10 @@ log_debug(const char *emsg, ...)
> }
>
> static void
> -vfatal(const char *emsg, va_list ap)
> +vfatalc(int code, const char *emsg, va_list ap)
> {
> static char s[BUFSIZ];
> const char *sep;
> - int saved_errno = errno;
>
> if (emsg != NULL) {
> (void)vsnprintf(s, sizeof(s), emsg, ap);
> @@ -178,9 +177,9 @@ vfatal(const char *emsg, va_list ap)
> s[0] = '\0';
> sep = "";
> }
> - if (saved_errno)
> + if (code)
> logit(LOG_CRIT, "%s: %s%s%s",
> - log_procname, s, sep, strerror(saved_errno));
> + log_procname, s, sep, strerror(code));
> else
> logit(LOG_CRIT, "%s%s%s", log_procname, sep, s);
> }
> @@ -191,7 +190,7 @@ fatal(const char *emsg, ...)
> va_list ap;
>
> va_start(ap, emsg);
> - vfatal(emsg, ap);
> + vfatalc(errno, emsg, ap);
> va_end(ap);
> exit(1);
> }
> @@ -201,9 +200,8 @@ fatalx(const char *emsg, ...)
> {
> va_list ap;
>
> - errno = 0;
> va_start(ap, emsg);
> - vfatal(emsg, ap);
> + vfatalc(0, emsg, ap);
> va_end(ap);
> exit(1);
> }
>