From 88429768bb3cc21d871e912cde3efaf92eec8213 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 26 Feb 2001 09:50:24 +0000 Subject: * strace.cc (strace::vprntf): Move prntf functionality to this function adding an va_list interface to strace. (strace::printf): Calls strace::vprntf now. (strace_printf): New function providing an extern "C" interface to trace output. * include/sys/strace.h: Make plain C clean. (class strace): Add `vprntf' method. --- winsup/cygwin/strace.cc | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/strace.cc') diff --git a/winsup/cygwin/strace.cc b/winsup/cygwin/strace.cc index d13596ea4..0b908a7d3 100644 --- a/winsup/cygwin/strace.cc +++ b/winsup/cygwin/strace.cc @@ -183,17 +183,15 @@ strace::write (unsigned category, const char *buf, int count) Warning: DO NOT SET ERRNO HERE! */ void -strace::prntf (unsigned category, const char *func, const char *fmt, ...) +strace::vprntf (unsigned category, const char *func, const char *fmt, va_list ap) { DWORD err = GetLastError (); int count; char buf[10000]; - va_list ap; PROTECT(buf); SetLastError (err); - va_start (ap, fmt); count = this->vsprntf (buf, func, fmt, ap); CHECK(buf); if (category & _STRACE_SYSTEM) @@ -210,6 +208,27 @@ strace::prntf (unsigned category, const char *func, const char *fmt, ...) SetLastError (err); } +void +strace::prntf (unsigned category, const char *func, const char *fmt, ...) +{ + va_list ap; + + va_start (ap, fmt); + this->vprntf (category, func, fmt, ap); +} + +extern "C" void +strace_printf (unsigned category, const char *func, const char *fmt, ...) +{ + va_list ap; + + if ((category & _STRACE_SYSTEM) || strace.active) + { + va_start (ap, fmt); + strace.vprntf (category, func, fmt, ap); + } +} + static NO_COPY const struct tab { int v; -- cgit v1.2.3