diff --git a/share/man/man9/printf.9 b/share/man/man9/printf.9 index 505ea9b80a21..551777a942ec 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 4f35838a75ef..ce781d9ce157 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 d322d3ce9957..026a03ccba40 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);