From 7df117128c68dabe9ab439624bd23fc48aaac3ed Mon Sep 17 00:00:00 2001 From: ceriel Date: Thu, 22 Oct 1987 15:26:36 +0000 Subject: [PATCH] fixed for very large numbers --- lang/cem/libcc/stdio/fltpr.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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 ) { -- 2.34.1