|
|
@@ -40,21 +40,10 @@ char * |
|
|
|
smprintf(char *fmt, ...) |
|
|
|
{ |
|
|
|
va_list fmtargs; |
|
|
|
char *ret; |
|
|
|
int len; |
|
|
|
|
|
|
|
va_start(fmtargs, fmt); |
|
|
|
len = vsnprintf(NULL, 0, fmt, fmtargs); |
|
|
|
va_end(fmtargs); |
|
|
|
|
|
|
|
ret = malloc(++len); |
|
|
|
if (ret == NULL) { |
|
|
|
fprintf(stderr, "Malloc error."); |
|
|
|
exit(1); |
|
|
|
} |
|
|
|
|
|
|
|
char *ret = NULL; |
|
|
|
va_start(fmtargs, fmt); |
|
|
|
vsnprintf(ret, len, fmt, fmtargs); |
|
|
|
if (vasprintf(&ret, fmt, fmtargs) < 0) |
|
|
|
return NULL; |
|
|
|
va_end(fmtargs); |
|
|
|
|
|
|
|
return ret; |
|
|
|