prevent multiple occurrences of TOKSEP in replace.c
authorceriel <none@none>
Mon, 18 Feb 1991 15:25:11 +0000 (15:25 +0000)
committerceriel <none@none>
Mon, 18 Feb 1991 15:25:11 +0000 (15:25 +0000)
lang/cem/cpp.ansi/Makefile
lang/cem/cpp.ansi/replace.c

index 0a6481b..4431323 100644 (file)
@@ -26,7 +26,7 @@ TABGEN        = $(EMHOME)/bin/tabgen
 # What C compiler to use and how
 CC = cc
 COPTIONS = -O
-LDFLAGS = -i
+LDFLAGS =
 
 # What parser generator to use and how
 GEN = $(EMHOME)/bin/LLgen
index eacbe72..02fcd69 100644 (file)
@@ -297,10 +297,12 @@ actual(repl)
                It keeps in account the opening and closing brackets,
                preprocessor numbers, strings and character constants.
        */
-       register int ch;
+       register int ch = 0;
        register int level = 0, nostashraw = 0;
+       int lastch;
 
        while (1) {
+               lastch = ch;
                ch = GetChar();
 
                if (Unstacked) {
@@ -469,8 +471,10 @@ a_new_line:                ch = GetChar();
                                return ')';
                        }
                        stash(repl, ch, !nostashraw);
-               } else
+               } else {
+                       if (lastch == TOKSEP && ch == TOKSEP) continue;
                        stash(repl, ch, !nostashraw);
+               }
        }
 }