#include "../hal/serial_com.h" #include "lib/printf.h" #include "lib/virtterm.h" #include "init.h" int kvprintf(const char *fmt, va_list ap) { char buffer[256] = { 0 }; int r = vsnprintf(buffer, 256, fmt, ap); int wlen = (r > 256 ? 256 : r); { jove_owned_obj_t *serial_obj = objdir_getlocal(_rootdir_obj, ROOTDIR_SERIAL_COM_I); serial_com_write(serial_obj, buffer, wlen); obj_release(serial_obj); jove_owned_obj_t *vt_obj = objdir_getlocal(_rootdir_obj, ROOTDIR_VIRTTERM_I); vt_write(vt_obj, buffer, wlen); obj_release(vt_obj); } return r; }