From: ceriel Date: Thu, 22 Oct 1987 15:26:36 +0000 (+0000) Subject: fixed for very large numbers X-Git-Tag: release-5-5~3787 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=7df117128c68dabe9ab439624bd23fc48aaac3ed;p=ack.git fixed for very large numbers --- diff --git a/lang/cem/libcc/stdio/fltpr.c b/lang/cem/libcc/stdio/fltpr.c index 9d3badac2..fbfdaa725 100644 --- a/lang/cem/libcc/stdio/fltpr.c +++ b/lang/cem/libcc/stdio/fltpr.c @@ -20,7 +20,8 @@ _pfloat(r,s,n,b) if (dp<=0) *s++ = '0'; for (i=dp; i>0; i--) - *s++ = *s1++; + if (*s1) *s++ = *s1++; + else *s++ = '0'; if ((i=n) > 0) *s++ = '.'; while (++dp <= 0) { @@ -29,7 +30,8 @@ _pfloat(r,s,n,b) *s++ = '0'; } while (--i >= 0) - *s++ = *s1++; + if (*s1) *s++ = *s1++; + else *s++ = '0'; return(s); } @@ -46,7 +48,8 @@ char *_pscien(r,s,n,b) float r; register char *s; { *s++ = *s1++; *s++ = '.'; while (--n>0) - *s++ = *s1++; + if (*s1) *s++ = *s1++; + else *s++ = '0'; *s++ = 'e'; if ( r ) --dp ; if ( dp<0 ) {