oops, previous fix was wrong for ## operator
authoreck <none@none>
Tue, 25 Sep 1990 13:40:32 +0000 (13:40 +0000)
committereck <none@none>
Tue, 25 Sep 1990 13:40:32 +0000 (13:40 +0000)
lang/cem/cpp.ansi/replace.c

index de9b44c..c899a8b 100644 (file)
@@ -512,8 +512,8 @@ macro2buffer(repl, idf, args)
                result onto the replacement buffer. It deals with the #
                and ## operators, and inserts the actual parameters.
                The argument buffer contains the raw argument (needed
-               for the ## operator), and the expanded argument (for
-               all other parameter substitutions).
+               for the # and ## operators), and the expanded argument
+               (for all other parameter substitutions).
 
                The grammar of the replacement list is:
 
@@ -555,7 +555,7 @@ macro2buffer(repl, idf, args)
                    ptr++;
                } while (*ptr != delim || *ptr == '\0');
                add2repl(repl, *ptr++);
-           } else if (func && *ptr == '#') {
+           } else if (*ptr == '#' && (func || *(ptr+1) == '#')) {
                if (*++ptr == '#') {
                    register int tmpindex;
                        /* ## - paste operator */