ssize_t __argp_fmtstream_printf (struct argp_fmtstream *fs, const char *fmt, ...) { int out; size_t avail; size_t size_guess = PRINTF_SIZE_GUESS; /* How much space to reserve. */ do { va_list args; if (! __argp_fmtstream_ensure (fs, size_guess)) return -1; va_start (args, fmt); avail = fs->end - fs->p; out = __vsnprintf (fs->p, avail, fmt, args); va_end (args); if ((size_t) out >= avail) size_guess = out + 1; } while ((size_t) out >= avail); fs->p += out; return out; }
ssize_t __argp_fmtstream_printf (struct argp_fmtstream *fs, const char *fmt, ...) { int out; size_t size_guess = PRINTF_SIZE_GUESS; /* How much space to reserve. */ do { va_list args; if (! __argp_fmtstream_ensure (fs, size_guess)) return -1; size_guess += size_guess; va_start (args, fmt); #if 0 out = __vsnprintf (fs->p, fs->end - fs->p, fmt, args); #else out = vsprintf (fs->p, fmt, args); #endif va_end (args); } while (out == -1); fs->p += out; return out; }
size_t __vprintf(const char *format, va_list params) { size_t retval; retval = __vsnprintf(vprint_buffer, sizeof(vprint_buffer), format, params); debug_write((uint8_t*)vprint_buffer, retval-1); return retval; }
size_t snprintf(char *buff, size_t len, const char *format, ...) { va_list params; size_t retval; va_start(params, format); retval = __vsnprintf(buff, len, format, params); va_end(params); return retval; }
/* VARARGS3 */ int __snprintf (char *s, size_t maxlen, const char *format, ...) { va_list arg; int done; va_start (arg, format); done = __vsnprintf (s, maxlen, format, arg); va_end (arg); return done; }
int s_vsprintf(char *buf, int size, const char *format, va_list ap) { int len; #ifdef HAVE_VSNPRINTF len = __vsnprintf(buf, size, format, ap); #else len = vsprintf(buf, format, ap); if (len > size) s_abort(); #endif return len; }
ssize_t __argp_fmtstream_printf (struct argp_fmtstream *fs, const char *fmt, ...) { size_t out; size_t size_guess = PRINTF_SIZE_GUESS; /* How much space to reserve. */ do { va_list args; if (! __argp_fmtstream_ensure (fs, size_guess)) return -1; size_guess += size_guess; va_start (args, fmt); #if HAVE_VSNPRINTF out = __vsnprintf (fs->p, fs->end - fs->p, fmt, args); #else #if VSPRINTF_RETURNS_INT out = vsprintf (fs->p, fmt, args); #else { char *s = (char*) vsprintf (fs->p, fmt, args); out = strlen (s); } #endif /* VSPRINTF_RETURNS_INT */ assert (out < fs->end - fs->p); #endif /* HAVE_VSNPRINTF */ va_end (args); } while (out == -1); fs->p += out; return out; }
static int mini_vsnprintf(char* buf, size_t size, const char* fmt, va_list ag) { if (size == 0) return 0; return __vsnprintf(buf, size, fmt, ag); }