All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m46s
32 lines
578 B
C
32 lines
578 B
C
#include "context.h"
|
|
#include "strbuf.h"
|
|
#include <liballoc.h>
|
|
#include <printf.h>
|
|
#include <stdarg.h>
|
|
#include <stddef.h>
|
|
#include <string.h>
|
|
|
|
void cprintf (struct context* context, const char* fmt, ...) {
|
|
va_list args;
|
|
va_start (args, fmt);
|
|
|
|
char* buf = malloc (CPRINTF_BUF_MAX);
|
|
|
|
if (buf == NULL) {
|
|
va_end (args);
|
|
return;
|
|
}
|
|
|
|
memset (buf, 0, CPRINTF_BUF_MAX);
|
|
int len = vsnprintf (buf, CPRINTF_BUF_MAX, fmt, args);
|
|
|
|
va_end (args);
|
|
|
|
if (len > 0) {
|
|
for (int i = 0; i < len; i++)
|
|
strbuf_append (&context->strbuf, buf[i]);
|
|
}
|
|
|
|
free (buf);
|
|
}
|