mongoose/docs/c-api/util.h/mg_avprintf.md
2016-07-25 17:35:27 +01:00

607 B

title decl_name symbol_kind signature
mg_avprintf() mg_avprintf func int mg_avprintf(char **buf, size_t size, const char *fmt, va_list ap);

Prints message to the buffer. If the buffer is large enough to hold the message, it returns buffer. If buffer is to small, it allocates a large enough buffer on heap and returns allocated buffer. This is a supposed use case:

char buf[5], *p = buf; p = mg_avprintf(&p, sizeof(buf), "%s", "hi there"); use_p_somehow(p); if (p != buf) { free(p); }

The purpose of this is to avoid malloc-ing if generated strings are small.