#ifndef NOFLOAT
extern char *_pfloat();
extern char *_pscien();
+extern char *gcvt();
#endif
# define wsize(par) ( (sizeof par) / sizeof (int) )
#endif
#ifndef NOFLOAT
double dbl ;
+ int capitalE = 0;
#endif
int inte ;
unsigned int uint ;
}
break;
#ifndef NOFLOAT
+ case 'E':
+ capitalE = 1;
+ /* fall through */
case 'e':
if (ndigit >= sizeof(buf)) ndigit = sizeof(buf) - 1;
dbl = va_arg(ap, double);
dbl = va_arg(ap, double);
s = _pfloat(dbl,s,ndigit,ndfnd);
break;
+ case 'G':
+ capitalE = 1;
+ /* fall through */
+ case 'g':
+ if (ndigit >= sizeof(buf)) ndigit = sizeof(buf) - 1;
+ dbl = va_arg(ap, double);
+ s = gcvt(dbl, ndigit+1, s) + strlen(s);
+ break;
#endif
case 'r':
ap = va_arg(ap, char *);
fmt=oldfmt;
continue;
}
+#ifndef NOFLOAT
+ if (capitalE) {
+ register char *p = buf;
+ capitalE=0;
+ while (*p && *p != 'e') p++;
+ if (*p == 'e') *p = 'E';
+ }
+#endif
j = s - s1;
if ((c = width - j) > 0)
if (rjust == 0)