Skip to content

Commit

Permalink
Fix %f conversion in bsnprintf.
Browse files Browse the repository at this point in the history
Signed-off-by: Marco van Wieringen <marco.van.wieringen@bareos.com>
  • Loading branch information
rkorzeniewski authored and Marco van Wieringen committed Feb 17, 2015
1 parent 5d24dde commit e0e7149
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/lib/bsnprintf.c
Expand Up @@ -647,6 +647,7 @@ static int32_t fmtfp(char *buffer, int32_t currlen, int32_t maxlen,
int r_length;
extern char *fcvt(double value, int ndigit, int *decpt, int *sign);
#endif
int fiter;
int iplace = 0;
int fplace = 0;
int padlen = 0; /* amount to pad */
Expand Down Expand Up @@ -716,10 +717,11 @@ static int32_t fmtfp(char *buffer, int32_t currlen, int32_t maxlen,

/* Convert fractional part */
cvt_str = caps ? "0123456789ABCDEF" : "0123456789abcdef";
fiter = max;
do {
fconvert[fplace++] = cvt_str[fracpart % 10];
fracpart = (fracpart / 10);
} while (fracpart && (fplace < (int)sizeof(fconvert)));
} while (--fiter);

if (fplace == (int)sizeof(fconvert)) {
fplace--;
Expand Down

0 comments on commit e0e7149

Please sign in to comment.