/* * vfprintf — форматированный вывод в поток: vsprintf (из z80.lib SDCC) * в статический буфер, затем fwrite (тот сам разруливает консоль/ * буфер). Не реентерабельно (один статический буфер) — на * однопоточном Z80 не проблема. Результат длиннее 255 символов — * усечение ответственность вызывающего (как у cprintf). */ #include #include "_file.h" #define VFPRINTF_BUF_SIZE 256 static char vfp_buf[VFPRINTF_BUF_SIZE]; int vfprintf(FILE *fp, const char *fmt, va_list ap) { int n = vsprintf(vfp_buf, fmt, ap); if (n > 0) { if (fwrite(vfp_buf, 1, (size_t)n, fp) != (size_t)n) return EOF; } return n; }