diff --git a/lang/cem/libcc/gen/ecvt.c b/lang/cem/libcc/gen/ecvt.c index 478d54238..3d5147670 100644 --- a/lang/cem/libcc/gen/ecvt.c +++ b/lang/cem/libcc/gen/ecvt.c @@ -61,13 +61,15 @@ cvt(value, ndigit, decpt, sign, ecvtflag) pb = buf; while (pe > buf1) *pb++ = *--pe; } - else if (value > 0) { - fractpart = value; - while ((value = value*10) < 1) { - fractpart = value; - pointpos--; - } + else { pb = &buf[0]; + if (value > 0) { + fractpart = value; + while ((value = value*10) < 1) { + fractpart = value; + pointpos--; + } + } } pe = &buf[ndigit]; if (! ecvtflag) {