--- gforth/prim 2003/01/23 21:45:59 1.122 +++ gforth/prim 2003/01/25 13:44:54 1.124 @@ -2012,8 +2012,10 @@ n=(r==0. ? 1 : decpt); f1=FLAG(flag!=0); f2=FLAG(isdigit((unsigned)(sig[0]))!=0); siglen=strlen(sig); +if (siglen>u) /* happens in glibc-2.1.3 if 999.. is rounded up */ + siglen=u; memcpy(c_addr,sig,siglen); -memset(c_addr+siglen,'0',u-siglen); +memset(c_addr+siglen,f2?'0':' ',u-siglen); >float ( c_addr u -- flag ) float to_float ""Actual stack effect: ( c_addr u -- r t | f ). Attempt to convert the