16#if defined(USE_RP2040) && !defined(USE_FULL_PRINTF)
23static constexpr size_t PRINTF_BUFFER_SIZE = 512;
28static int write_printf_buffer(FILE *stream,
char *buf,
int len) {
32 size_t write_len =
len;
33 if (write_len >= PRINTF_BUFFER_SIZE) {
34 fwrite(buf, 1, PRINTF_BUFFER_SIZE - 1, stream);
36 static const char msg[] =
"\nprintf buffer overflow\n";
37 fwrite(msg, 1,
sizeof(msg) - 1, stream);
40 if (fwrite(buf, 1, write_len, stream) < write_len || ferror(stream)) {
50 char buf[PRINTF_BUFFER_SIZE];
51 return write_printf_buffer(stdout, buf, vsnprintf(buf,
sizeof(buf), fmt, ap));
65 char buf[PRINTF_BUFFER_SIZE];
66 int len = write_printf_buffer(stream, buf, vsnprintf(buf,
sizeof(buf), fmt, ap));
int __wrap_fprintf(FILE *stream, const char *fmt,...)
int __wrap_printf(const char *fmt,...)
int __wrap_vprintf(const char *fmt, va_list ap)