--- gforth/prim 2003/01/10 21:43:41 1.121 +++ gforth/prim 2003/01/23 21:45:59 1.122 @@ -2004,13 +2004,16 @@ else represent ( r c_addr u -- n f1 f2 ) float char *sig; +size_t siglen; int flag; int decpt; sig=ecvt(r, u, &decpt, &flag); -n=(r==0 ? 1 : decpt); +n=(r==0. ? 1 : decpt); f1=FLAG(flag!=0); f2=FLAG(isdigit((unsigned)(sig[0]))!=0); -memmove(c_addr,sig,u); +siglen=strlen(sig); +memcpy(c_addr,sig,siglen); +memset(c_addr+siglen,'0',u-siglen); >float ( c_addr u -- flag ) float to_float ""Actual stack effect: ( c_addr u -- r t | f ). Attempt to convert the