DLL_VARIABLE void string_vsprintf_(mj_buffer_t* pcs, size_t begin, const char* fmt, va_list argList) { int len = 0; string_ensureLen_(pcs, pcs->len + 200); len = vsnprintf(pcs->str + begin, pcs->capacity - begin, fmt, argList); if(len > 0) { pcs->len = begin + len; return; } len = vscprintf(fmt, argList); if(len <= 0) return ; string_ensureLen_(pcs, begin + len + 10); len = vsnprintf(pcs->str + begin, pcs->capacity - begin, fmt, argList); if(len > 0) { pcs->len = begin + len; return ; } return; }
static int scprintf(const char *format, ...) { va_list ap; int length; va_start(ap, format); length = vscprintf(format, ap); va_end(ap); assert(length >= 0); return length; }
void on_log(void* ctx, int severity, const char *fmt, va_list ap) { vscprintf(fmt, ap); printf("\r\n"); }