diff options
Diffstat (limited to 'include/asprintf.h')
| -rw-r--r-- | include/asprintf.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/asprintf.h b/include/asprintf.h index 3b0072e..65957e0 100644 --- a/include/asprintf.h +++ b/include/asprintf.h | |||
| @@ -9,10 +9,11 @@ | |||
| 9 | static inline int vasprintf(char **PTR, const char *TEMPLATE, va_list AP) | 9 | static inline int vasprintf(char **PTR, const char *TEMPLATE, va_list AP) |
| 10 | { | 10 | { |
| 11 | int res; | 11 | int res; |
| 12 | res = vsnprintf(NULL, 32768, TEMPLATE, AP); | 12 | char buf[16]; |
| 13 | res = vsnprintf(buf, 16, TEMPLATE, AP); | ||
| 13 | if (res > 0) { | 14 | if (res > 0) { |
| 14 | *PTR = (char*)malloc(res+1); | 15 | *PTR = (char*)malloc(res+1); |
| 15 | res = vsnprintf(*PTR, res, TEMPLATE, AP); | 16 | res = vsnprintf(*PTR, res+1, TEMPLATE, AP); |
| 16 | } | 17 | } |
| 17 | return res; | 18 | return res; |
| 18 | } | 19 | } |
