strfmon: reduce unnecessary snprintf.

No need for the snprintf/asprintf dance; use fixed width formats.

Obtained from:	NetBSD (CVS rev. 1.8)
MFC after:	1 week
This commit is contained in:
Pedro F. Giffuni 2014-07-12 15:19:30 +00:00
parent 5ddabb8348
commit 0c02957978

View File

@ -526,7 +526,6 @@ __format_grouped_double(double value, int *flags,
char *rslt;
char *avalue;
int avalue_size;
char fmt[32];
size_t bufsize;
char *bufend;
@ -567,14 +566,13 @@ __format_grouped_double(double value, int *flags,
left_prec += get_groups(left_prec, grouping);
/* convert to string */
snprintf(fmt, sizeof(fmt), "%%%d.%df", left_prec + right_prec + 1,
right_prec);
avalue_size = asprintf(&avalue, fmt, value);
avalue_size = asprintf(&avalue, "%*.*f", left_prec + right_prec + 1,
right_prec, value);
if (avalue_size < 0)
return (NULL);
/* make sure that we've enough space for result string */
bufsize = strlen(avalue)*2+1;
bufsize = avalue_size * 2 + 1;
rslt = calloc(1, bufsize);
if (rslt == NULL) {
free(avalue);