diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2001-02-26 09:50:24 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2001-02-26 09:50:24 +0000 |
commit | 88429768bb3cc21d871e912cde3efaf92eec8213 (patch) | |
tree | 4de90a5d28b9f8085313c98567486bb40a93090c /winsup/cygwin/strace.cc | |
parent | 6626ebfef761d9a6bcfe1894fe2459251ad436a6 (diff) | |
download | cygnal-88429768bb3cc21d871e912cde3efaf92eec8213.tar.gz cygnal-88429768bb3cc21d871e912cde3efaf92eec8213.tar.bz2 cygnal-88429768bb3cc21d871e912cde3efaf92eec8213.zip |
* 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.
Diffstat (limited to 'winsup/cygwin/strace.cc')
-rw-r--r-- | winsup/cygwin/strace.cc | 25 |
1 files changed, 22 insertions, 3 deletions
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; |