int vprintf(const char *fmt, va_list va) { struct printf_info info; info.putc = putc_normal; return _vprintf(&info, fmt, va); }
void OSD::printf_P(const prog_char *fmt, ...) { va_list ap; va_start(ap, fmt); _vprintf(1, fmt, ap); va_end(ap); }
void OSD::printf(const char *fmt, ...) { va_list ap; va_start(ap, fmt); _vprintf(0, fmt, ap); va_end(ap); }
void BetterStream::_printf_P(const prog_char *fmt, ...) { va_list ap; va_start(ap, fmt); _vprintf(1, fmt, ap); va_end(ap); }
/*void BetterStream::println_P(const prog_char_t *s) { print_P(s); println(); } void BetterStream::println_P(const prog_char *s) { print_P(s); println(); } */ void BetterStream::printf(const char *fmt, ...) { va_list ap; va_start(ap, fmt); _vprintf(0, fmt, ap); va_end(ap); }
int32_t Bprintf(const char *format, ...) { va_list ap; int32_t r; va_start(ap, format); #ifdef _MSC_VER r = _vprintf(format, ap); #else r = vprintf(format, ap); #endif va_end(ap); return r; }
int printf(const char *fmt, ...) { struct printf_info info; va_list va; int ret; info.putc = putc_normal; va_start(va, fmt); ret = _vprintf(&info, fmt, va); va_end(va); return ret; }
/* Note that size is ignored */ int snprintf(char *buf, size_t size, const char *fmt, ...) { struct printf_info info; va_list va; int ret; va_start(va, fmt); info.outstr = buf; info.putc = putc_outstr; ret = _vprintf(&info, fmt, va); va_end(va); *info.outstr = '\0'; return ret; }