Fixed subtle bug in expr().
[rmac] / procln.c
index 743c9b96e13b61da115d038dc8f529578849eee7..5ae5c5e080e501f7f0801220e6407306ef65ae83 100644 (file)
--- a/procln.c
+++ b/procln.c
@@ -171,7 +171,8 @@ loop1:                                                                              // Internal line processing loop
        // First token MUST be a symbol
        if (*tok != SYMBOL)
        {
-               error(syntax_error);
+//             error(syntax_error);
+               error("syntax error; expected symbol");
                goto loop;
        }
 
@@ -208,13 +209,15 @@ as68label:
                }
        }
 
-       if (*tok == EOL)                                                // EOL is legal here...
+       // EOL is legal here...
+       if (*tok == EOL)
                goto normal;
 
        // Next token MUST be a symbol
        if (*tok++ != SYMBOL)
        {
-               error(syntax_error);
+//             error(syntax_error);
+               error("syntax error; expected symbol");
                goto loop;
        }
 
@@ -259,11 +262,11 @@ as68label:
        siz = SIZN;
 
        if (*tok == DOTW) 
-               siz = SIZW, ++tok;
+               siz = SIZW, tok++;
        else if (*tok == DOTL)
-               siz = SIZL, ++tok;
+               siz = SIZL, tok++;
        else if (*tok == DOTB)
-               siz = SIZB, ++tok;
+               siz = SIZB, tok++;
 
        // Do special directives (500..999) (These must be handled in "real time")
        if (state >= 500 && state < 1000)