void runtime_printf(const char *s, ...) { va_list va; va_start(va, s); go_vprintf(s, va); va_end(va); }
int32 runtime_snprintf(byte *buf, int32 n, const char *s, ...) { G *g = runtime_g(); va_list va; int32 m; g->writebuf = buf; g->writenbuf = n-1; va_start(va, s); go_vprintf(s, va); va_end(va); *g->writebuf = '\0'; m = g->writebuf - buf; g->writenbuf = 0; g->writebuf = nil; return m; }
int32 runtime_snprintf(byte *buf, int32 n, const char *s, ...) { G *g = runtime_g(); va_list va; int32 m; g->writebuf.__values = buf; g->writebuf.__count = 0; g->writebuf.__capacity = n-1; va_start(va, s); go_vprintf(s, va); va_end(va); m = g->writebuf.__count; ((byte*)g->writebuf.__values)[m] = '\0'; g->writebuf.__values = nil; g->writebuf.__count = 0; g->writebuf.__capacity = 0; return m; }