fxBoot/src/terminal/write.c

31 lines
666 B
C

//---
// fxBoot:terminal:write - Write primitive for terminal device
//---
#include "fxBoot/terminal.h"
#include <gint/std/stdio.h>
#include <gint/std/string.h>
#include <gint/display.h>
#include <stdarg.h>
/* terminal_write() - printf wrapper for the terminal device */
int terminal_write(const char *format, ...)
{
char buffer[1024];
va_list ap;
int nb;
/* process the format */
va_start(ap, format);
nb = vsnprintf(buffer, 1024, format, ap);
va_end(ap);
/* update the internal buffer */
terminal_buffer_insert(buffer, nb);
/* display the internal buffer */
dclear(terminal.private.color.bg);
terminal_buffer_display();
dupdate();
return (nb);
}