23 #include <grass/gis.h> 45 return vasprintf(out, fmt, ap);
47 size_t size = strlen(fmt) + 50;
48 char *buf = G_malloc(size);
56 count = vsnprintf(buf, size, fmt, ap);
57 if (count >= 0 && count < size)
60 buf = G_realloc(buf, size);
63 buf = G_realloc(buf, count + 1);
106 size_t osize = *size;
108 if (osize < strlen(fmt) + 50) {
109 osize = strlen(fmt) + 50;
110 buf = G_realloc(buf, osize);
115 count = vsnprintf(buf, osize, fmt, ap);
117 if (count >= 0 && count < osize)
124 buf = G_realloc(buf, osize);
int G_rasprintf(char **out, size_t *size, const char *fmt,...)
Reallocating version of asprintf().
int G_asprintf(char **out, const char *fmt,...)
int G_vasprintf(char **out, const char *fmt, va_list ap)
Safe replacement for asprintf().