--- freem/src/operator.c 2025/04/10 01:24:38 1.7 +++ freem/src/operator.c 2025/05/05 22:52:32 1.9 @@ -1,5 +1,5 @@ /* - * $Id: operator.c,v 1.7 2025/04/10 01:24:38 snw Exp $ + * $Id: operator.c,v 1.9 2025/05/05 22:52:32 snw Exp $ * operators pattern-match, divide, multiply, add, power * * @@ -24,6 +24,12 @@ * along with FreeM. If not, see . * * $Log: operator.c,v $ + * Revision 1.9 2025/05/05 22:52:32 snw + * Make E notation error message more appropriate + * + * Revision 1.8 2025/05/05 19:34:46 snw + * Fix E notation code to disallow more than one minus sign after the E + * * Revision 1.7 2025/04/10 01:24:38 snw * Remove C++ style comments * @@ -1975,6 +1981,10 @@ int numlit (char *str) } if (expflg) { if (ch == MINUS) { + if (str[i + 1] == '-') { + merr_raise (INVEXPR); + return (0); + } expflg = (-expflg); continue; }