mirror of
https://github.com/SerenityOS/serenity
synced 2024-07-22 02:26:11 +00:00
AK+Kernel+LibC: Add vdbgprintf()
This is like dbgprintf() except it takes a va_list instead of ...
This commit is contained in:
parent
2f1d596dd3
commit
3055f73d48
|
@ -31,7 +31,9 @@
|
|||
# include <Kernel/kstdio.h>
|
||||
# else
|
||||
# include <AK/Types.h>
|
||||
# include <stdarg.h>
|
||||
extern "C" {
|
||||
int vdbgprintf(const char* fmt, va_list);
|
||||
int dbgprintf(const char* fmt, ...);
|
||||
ssize_t dbgputstr(const char*, ssize_t);
|
||||
int sprintf(char* buf, const char* fmt, ...);
|
||||
|
|
|
@ -176,14 +176,20 @@ extern "C" int kernelputstr(const char* characters, int length)
|
|||
return 0;
|
||||
}
|
||||
|
||||
extern "C" int dbgprintf(const char* fmt, ...)
|
||||
extern "C" int vdbgprintf(const char* fmt, va_list ap)
|
||||
{
|
||||
ScopedSpinLock lock(s_log_lock);
|
||||
color_on();
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
int ret = printf_internal(debugger_putch, nullptr, fmt, ap);
|
||||
va_end(ap);
|
||||
color_off();
|
||||
return ret;
|
||||
}
|
||||
|
||||
extern "C" int dbgprintf(const char* fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
int ret = vdbgprintf(fmt, ap);
|
||||
va_end(ap);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -802,6 +802,11 @@ void rewind(FILE* stream)
|
|||
ASSERT(rc == 0);
|
||||
}
|
||||
|
||||
int vdbgprintf(const char* fmt, va_list ap)
|
||||
{
|
||||
return printf_internal([](char*&, char ch) { dbgputch(ch); }, nullptr, fmt, ap);
|
||||
}
|
||||
|
||||
int dbgprintf(const char* fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
|
Loading…
Reference in a new issue