fixed behaviour on too long floating point constants

This commit is contained in:
ceriel 1989-07-26 11:16:59 +00:00
parent 90101c0dec
commit 5f35d0c644
2 changed files with 2 additions and 2 deletions

View file

@ -445,7 +445,7 @@ firstline:
buf[0] = '-'; /* good heavens... */
if (np == &buf[NUMSIZE+1]) {
lexerror("floating constant too long");
ptok->tk_fval = Salloc("0.0",(unsigned) 5) + 1;
ptok->tk_fval = Salloc("-0.0",(unsigned) 5) + 1;
}
else
ptok->tk_fval = Salloc(buf,(unsigned) (np - buf)) + 1;

View file

@ -582,7 +582,7 @@ lexwarning(W_ORDINARY, "overflow in constant");
PushBack();
if (np >= &buf[NUMSIZE]) {
tk->TOK_REL = Salloc("0.0", 5);
tk->TOK_REL = Salloc("-0.0", 5)+1;
lexerror("real constant too long");
}
else tk->TOK_REL = Salloc(buf, (unsigned) (np - buf)) + 1;