characters were treated as unsigneds, lines with quotes in them
authorceriel <none@none>
Fri, 24 Jul 1987 09:21:24 +0000 (09:21 +0000)
committerceriel <none@none>
Fri, 24 Jul 1987 09:21:24 +0000 (09:21 +0000)
where not treated correctly

util/cpp/LLlex.c
util/cpp/preprocess.c

index 5ff8567..8df9a28 100644 (file)
@@ -207,12 +207,11 @@ go_on:
                        if (c == '\\') {
                                LoadChar(c);
                                if (c == '\n') {
-                                       LoadChar(c);
                                        LineNumber++;
-                                       continue;
                                }
                                c = quoted(c);
                        }
+                       if (c >= 128) c -= 256;
                        val = val*256 + c;
                        size++;
                        LoadChar(c);
index 5a06b42..b305753 100644 (file)
@@ -100,6 +100,7 @@ preprocess(fn)
                                                        ++LineNumber;
                                                        ++lineno;
                                                        echo(c);
+                                                       break;
                                                }
                                                else if (c == EOI) {
                                                        flush(op - _obuf);
@@ -143,8 +144,6 @@ preprocess(fn)
                                        echo(c);
                                        LoadChar(c);
                                        if (c == '\n') {
-                                               ++LineNumber;
-                                               lineno++;
                                                break;
                                        }
                                        else if (c == EOI) {
@@ -162,6 +161,8 @@ preprocess(fn)
                                }
                                while (c != stopc);
                                echo(c);
+                               if (c == '\n')
+                                       break;  /* Don't eat # */
                                LoadChar(c);
                                continue;
                                }