#if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)gcvt.c 5.2 (Berkeley) 3/9/86"; #endif LIBC_SCCS and not lint /* * gcvt - Floating output conversion to * minimal length string */ char *ecvt(); char * gcvt(number, ndigit, buf) double number; char *buf; { int sign, decpt; register char *p1, *p2; register i; p1 = ecvt(number, ndigit, &decpt, &sign); p2 = buf; if (sign) *p2++ = '-'; for (i=ndigit-1; i>0 && p1[i]=='0'; i--) ndigit--; if (decpt >= 0 && decpt-ndigit > 4 || decpt < 0 && decpt < -3) { /* use E-style */ decpt--; *p2++ = *p1++; *p2++ = '.'; for (i=1; i