| OLD | NEW |
| 1 #define _GNU_SOURCE | 1 #define _GNU_SOURCE |
| 2 #include <stdio.h> | 2 #include <stdio.h> |
| 3 #include <stdarg.h> | 3 #include <stdarg.h> |
| 4 #include <stdlib.h> | 4 #include <stdlib.h> |
| 5 | 5 |
| 6 int vasprintf(char **s, const char *fmt, va_list ap) | 6 int vasprintf(char** s, const char* fmt, va_list ap) { |
| 7 { | 7 va_list ap2; |
| 8 » va_list ap2; | 8 va_copy(ap2, ap); |
| 9 » va_copy(ap2, ap); | 9 int l = vsnprintf(0, 0, fmt, ap2); |
| 10 » int l = vsnprintf(0, 0, fmt, ap2); | 10 va_end(ap2); |
| 11 » va_end(ap2); | |
| 12 | 11 |
| 13 » if (l<0 || !(*s=malloc(l+1U))) return -1; | 12 if (l < 0 || !(*s = malloc(l + 1U))) |
| 14 » return vsnprintf(*s, l+1U, fmt, ap); | 13 return -1; |
| 14 return vsnprintf(*s, l + 1U, fmt, ap); |
| 15 } | 15 } |
| OLD | NEW |