From db4b8c355869fc8e48a4d5f6c662247cbe314842 Mon Sep 17 00:00:00 2001 From: Donn Seeley Date: Sun, 27 Apr 1986 11:02:04 -0800 Subject: [PATCH 1/1] Don't put comments in macro expansions with -C -- if the comment spans multiple lines, lint's line numbers get screwed up. SCCS-vsn: old/cpp/cpp.c 1.14 --- usr/src/old/cpp/cpp.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/usr/src/old/cpp/cpp.c b/usr/src/old/cpp/cpp.c index 94855297e8..6094ba5106 100644 --- a/usr/src/old/cpp/cpp.c +++ b/usr/src/old/cpp/cpp.c @@ -1,5 +1,5 @@ #ifndef lint -static char sccsid[] = "@(#)cpp.c 1.13 %G%"; +static char sccsid[] = "@(#)cpp.c 1.14 %G%"; #endif lint #ifdef FLEXNAMES @@ -642,11 +642,15 @@ dodef(p) char *p; {/* process '#define' */ char *space, *newspace; char *formal[MAXFRM]; /* formal[n] is name of nth formal */ char formtxt[BUFSIZ]; /* space for formal names */ + int opt_passcom=passcom; + + passcom=0; /* don't put comments in macro expansions */ ++flslvl; /* prevent macro expansion during 'define' */ p=skipbl(p); pin=inp; if ((toktyp+COFF)[*pin]!=IDENT) { - ppwarn("illegal macro name"); while (*inp!='\n') p=skipbl(p); return(p); + ppwarn("illegal macro name"); while (*inp!='\n') p=skipbl(p); + passcom=opt_passcom; return(p); } np=slookup(pin,p,1); if (oldval=np->value) free(lastcopy); /* was previously defined */ @@ -680,7 +684,11 @@ dodef(p) char *p; {/* process '#define' */ /* warn if a redefinition is different from old value. */ space=psav=malloc(BUFSIZ); - if (space==NULL) {pperror("too much defining"); return(p);} + if (space==NULL) { + pperror("too much defining"); + passcom=opt_passcom; + return(p); + } *psav++ = '\0'; for (;;) {/* accumulate definition until linefeed */ outp=inp=p; p=cotoken(p); pin=inp; @@ -731,6 +739,7 @@ dodef(p) char *p; {/* process '#define' */ */ np->value += newspace-space; } + passcom=opt_passcom; return(p); } -- 2.20.1