Subversion Repositories Kolibri OS

Rev

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;