Rev 6099 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6099 | Rev 6536 | ||
---|---|---|---|
Line 1330... | Line 1330... | ||
1330 | if (ch <= 'e') { /* 'a', 'A', 'e', or 'E' fmt */ |
1330 | if (ch <= 'e') { /* 'a', 'A', 'e', or 'E' fmt */ |
1331 | --expt; |
1331 | --expt; |
1332 | expsize = exponent (expstr, expt, ch); |
1332 | expsize = exponent (expstr, expt, ch); |
1333 | size = expsize + ndig; |
1333 | size = expsize + ndig; |
1334 | if (ndig > 1 || flags & ALT) |
1334 | if (ndig > 1 || flags & ALT) |
1335 | ++size; |
1335 | size += decp_len; |
1336 | # ifdef _WANT_IO_C99_FORMATS |
1336 | # ifdef _WANT_IO_C99_FORMATS |
1337 | flags &= ~GROUPING; |
1337 | flags &= ~GROUPING; |
1338 | # endif |
1338 | # endif |
1339 | } else { |
1339 | } else { |
1340 | if (ch == 'f') { /* f fmt */ |
1340 | if (ch == 'f') { /* f fmt */ |
1341 | if (expt > 0) { |
1341 | if (expt > 0) { |
1342 | size = expt; |
1342 | size = expt; |
1343 | if (prec || flags & ALT) |
1343 | if (prec || flags & ALT) |
1344 | size += prec + 1; |
1344 | size += prec + decp_len; |
1345 | } else /* "0.X" */ |
1345 | } else /* "0.X" */ |
1346 | size = (prec || flags & ALT) |
1346 | size = (prec || flags & ALT) |
1347 | ? prec + 2 |
1347 | ? prec + 1 + decp_len |
1348 | : 1; |
1348 | : 1; |
1349 | } else if (expt >= ndig) { /* fixed g fmt */ |
1349 | } else if (expt >= ndig) { /* fixed g fmt */ |
1350 | size = expt; |
1350 | size = expt; |
1351 | if (flags & ALT) |
1351 | if (flags & ALT) |
1352 | ++size; |
1352 | size += decp_len; |
1353 | } else |
1353 | } else { |
1354 | size = ndig + (expt > 0 ? |
1354 | size = ndig + decp_len; |
- | 1355 | if (expt <= 0) |
|
1355 | 1 : 2 - expt); |
1356 | size += 1 - expt; |
- | 1357 | } |
|
1356 | # ifdef _WANT_IO_C99_FORMATS |
1358 | # ifdef _WANT_IO_C99_FORMATS |
1357 | if ((flags & GROUPING) && expt > 0) { |
1359 | if ((flags & GROUPING) && expt > 0) { |
1358 | /* space for thousands' grouping */ |
1360 | /* space for thousands' grouping */ |
1359 | nseps = nrepeats = 0; |
1361 | nseps = nrepeats = 0; |
1360 | lead = expt; |
1362 | lead = expt; |