version 1.8, 2018/08/21 13:56:27 |
version 1.9, 2020/03/06 18:12:55 |
|
|
snmprintf(char *str, size_t sz, int *wp, const char *fmt, ...) |
snmprintf(char *str, size_t sz, int *wp, const char *fmt, ...) |
{ |
{ |
va_list ap; |
va_list ap; |
char *cp; |
char *cp = NULL; |
int ret; |
int ret; |
|
|
va_start(ap, fmt); |
va_start(ap, fmt); |
|
|
int |
int |
vfmprintf(FILE *stream, const char *fmt, va_list ap) |
vfmprintf(FILE *stream, const char *fmt, va_list ap) |
{ |
{ |
char *str; |
char *str = NULL; |
int ret; |
int ret; |
|
|
if ((ret = vasnmprintf(&str, INT_MAX, NULL, fmt, ap)) < 0) |
if ((ret = vasnmprintf(&str, INT_MAX, NULL, fmt, ap)) < 0) { |
|
free(str); |
return -1; |
return -1; |
|
} |
if (fputs(str, stream) == EOF) |
if (fputs(str, stream) == EOF) |
ret = -1; |
ret = -1; |
free(str); |
free(str); |