debug_printf: return number of printed characters
For compatibility with other printf functions
Change-Id: I52c85d590b8480427952740cb896112bb4e71c18
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10044
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Diff
headers/os/kernel/OS.h | 4 ++--
src/system/libroot/os/debug.c | 15 ++++++++++++---
2 files changed, 12 insertions(+), 7 deletions(-)
@@ -424,9 +424,9 @@
extern int disable_debugger(int state);
extern void debug_printf(const char *format, ...)
extern int debug_printf(const char *format, ...)
__attribute__ ((format (__printf__, 1, 2)));
extern void debug_vprintf(const char *format, va_list args);
extern int debug_vprintf(const char *format, va_list args);
extern void ktrace_printf(const char *format, ...)
__attribute__ ((format (__printf__, 1, 2)));
extern void ktrace_vprintf(const char *format, va_list args);
@@ -268,27 +268,32 @@
return 0;
}
void
int
debug_printf(const char *format, ...)
{
int count;
va_list list;
va_start(list, format);
debug_vprintf(format, list);
count = debug_vprintf(format, list);
va_end(list);
return count;
}
void
int
debug_vprintf(const char *format, va_list args)
{
char buffer[1024];
vsnprintf(buffer, sizeof(buffer), format, args);
int count = vsnprintf(buffer, sizeof(buffer), format, args);
_kern_debug_output(buffer);
return count;
}