From 07713dde22c8f01a316dbff02976ca0e09c5e379 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Thu, 19 Nov 2015 05:50:22 +0000 Subject: [PATCH] Add vlog(9). Reviewed by: cem, jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D4183 --- share/man/man9/printf.9 | 6 +++++- sys/kern/subr_prf.c | 8 +++++++- sys/sys/systm.h | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/share/man/man9/printf.9 b/share/man/man9/printf.9 index 505ea9b80a2..551777a942e 100644 --- a/share/man/man9/printf.9 +++ b/share/man/man9/printf.9 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 8, 2006 +.Dd November 18, 2015 .Dt PRINTF 9 .Os .Sh NAME @@ -41,9 +41,13 @@ .Fn tprintf "struct proc *p" "int pri" "const char *fmt" ... .Ft int .Fn uprintf "const char *fmt" ... +.Ft int +.Fn vprintf "const char *fmt" "va_list ap" .In sys/syslog.h .Ft void .Fn log "int pri" "const char *fmt" ... +.Ft void +.Fn vlog "int pri" "const char *fmt" "va_list ap" .Sh DESCRIPTION The .Xr printf 9 diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c index 4f35838a75e..ce781d9ce15 100644 --- a/sys/kern/subr_prf.c +++ b/sys/kern/subr_prf.c @@ -302,9 +302,15 @@ log(int level, const char *fmt, ...) va_list ap; va_start(ap, fmt); - (void)_vprintf(level, log_open ? TOLOG : TOCONS | TOLOG, fmt, ap); + vlog(level, fmt, ap); va_end(ap); +} +void +vlog(int level, const char *fmt, va_list ap) +{ + + (void)_vprintf(level, log_open ? TOLOG : TOCONS | TOLOG, fmt, ap); msgbuftrigger = 1; } diff --git a/sys/sys/systm.h b/sys/sys/systm.h index d322d3ce995..026a03ccba4 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -207,6 +207,7 @@ int kvprintf(char const *, void (*)(int, void*), void *, int, __va_list) __printflike(1, 0); void log(int, const char *, ...) __printflike(2, 3); void log_console(struct uio *); +void vlog(int, const char *, __va_list) __printflike(2, 0); int asprintf(char **ret, struct malloc_type *mtp, const char *format, ...) __printflike(3, 4); int printf(const char *, ...) __printflike(1, 2);