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:
parent
5ddabb8348
commit
0c02957978
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user