mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 00:17:36 +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
3 changed files with 17 additions and 4 deletions
|
@ -31,7 +31,9 @@
|
||||||
# include <Kernel/kstdio.h>
|
# include <Kernel/kstdio.h>
|
||||||
# else
|
# else
|
||||||
# include <AK/Types.h>
|
# include <AK/Types.h>
|
||||||
|
# include <stdarg.h>
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
int vdbgprintf(const char* fmt, va_list);
|
||||||
int dbgprintf(const char* fmt, ...);
|
int dbgprintf(const char* fmt, ...);
|
||||||
ssize_t dbgputstr(const char*, ssize_t);
|
ssize_t dbgputstr(const char*, ssize_t);
|
||||||
int sprintf(char* buf, const char* fmt, ...);
|
int sprintf(char* buf, const char* fmt, ...);
|
||||||
|
|
|
@ -176,14 +176,20 @@ extern "C" int kernelputstr(const char* characters, int length)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" int dbgprintf(const char* fmt, ...)
|
extern "C" int vdbgprintf(const char* fmt, va_list ap)
|
||||||
{
|
{
|
||||||
ScopedSpinLock lock(s_log_lock);
|
ScopedSpinLock lock(s_log_lock);
|
||||||
color_on();
|
color_on();
|
||||||
va_list ap;
|
|
||||||
va_start(ap, fmt);
|
|
||||||
int ret = printf_internal(debugger_putch, nullptr, fmt, ap);
|
int ret = printf_internal(debugger_putch, nullptr, fmt, ap);
|
||||||
va_end(ap);
|
|
||||||
color_off();
|
color_off();
|
||||||
return ret;
|
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);
|
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, ...)
|
int dbgprintf(const char* fmt, ...)
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue