diff -c oldstuff/doprnt.c newstuff/doprnt.c *** oldstuff/doprnt.c Sat Nov 8 07:19:40 2003 --- newstuff/doprnt.c Sat Jan 1 20:21:32 2005 *************** *** 69,75 **** static int cvtl(long double number, int prec, int flags, char *signp, unsigned char fmtch, char *startp, char *endp); ! static char *roundl(long double fract, int *expv, char *start, char *end, char ch, char *signp); static char *exponentl(char *p, int expv, unsigned char fmtch); #ifdef __GO32__ --- 69,75 ---- static int cvtl(long double number, int prec, int flags, char *signp, unsigned char fmtch, char *startp, char *endp); ! static char *doprnt_roundl(long double fract, int *expv, char *start, char *end, char ch, char *signp); static char *exponentl(char *p, int expv, unsigned char fmtch); #ifdef __GO32__ *************** *** 615,621 **** *t++ = tochar((int)tmp); } while (--prec && fract); if (fract) ! startp = roundl(fract, (int *)NULL, startp, t - 1, (char)0, signp); } for (; prec--; *t++ = '0'); --- 615,621 ---- *t++ = tochar((int)tmp); } while (--prec && fract); if (fract) ! startp = doprnt_roundl(fract, (int *)NULL, startp, t - 1, (char)0, signp); } for (; prec--; *t++ = '0'); *************** *** 639,645 **** if (!prec && ++p < endp) { fract = 0; ! startp = roundl((long double)0.0L, &expcnt, startp, t - 1, *p, signp); } /* adjust expcnt for digit in front of decimal */ --- 639,645 ---- if (!prec && ++p < endp) { fract = 0; ! startp = doprnt_roundl((long double)0.0L, &expcnt, startp, t - 1, *p, signp); } /* adjust expcnt for digit in front of decimal */ *************** *** 701,707 **** *t++ = tochar((int)tmp); } while (--prec && fract); if (fract) ! startp = roundl(fract, &expcnt, startp, t - 1, (char)0, signp); } /* if requires more precision */ --- 701,707 ---- *t++ = tochar((int)tmp); } while (--prec && fract); if (fract) ! startp = doprnt_roundl(fract, &expcnt, startp, t - 1, (char)0, signp); } /* if requires more precision */ *************** *** 781,787 **** } } if (fract) ! startp = roundl(fract, (int *)NULL, startp, t - 1, (char)0, signp); /* alternate format, adds 0's for precision, else trim 0's */ if (flags&ALT) --- 781,787 ---- } } if (fract) ! startp = doprnt_roundl(fract, (int *)NULL, startp, t - 1, (char)0, signp); /* alternate format, adds 0's for precision, else trim 0's */ if (flags&ALT) *************** *** 797,803 **** } static char * ! roundl(long double fract, int *expv, char *start, char *end, char ch, char *signp) { long double tmp; --- 797,803 ---- } static char * ! doprnt_roundl(long double fract, int *expv, char *start, char *end, char ch, char *signp) { long double tmp;