*str++ = c;
} else {
int t = 0;
- char w = '0';
+ char w = '0';
int i, sz = 0;
void *p = NULL;
break;
case 'f': /* float */
f = va_arg (ap, double);
+ if (f == 0) {
+ *str++ = '0';
+ break;
+ }
if (f < 0) {
*str++ = '-';
f = -f;
f *= 10;
t--;
}
- f += 1e-7;
+ f += 1e-7;
if (f >= 10) {
f /= 10;
t++;