diff options
Diffstat (limited to 'soltools/cpp/_macro.c')
-rw-r--r-- | soltools/cpp/_macro.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/soltools/cpp/_macro.c b/soltools/cpp/_macro.c index 22f0bfbbd..600cc1ae0 100644 --- a/soltools/cpp/_macro.c +++ b/soltools/cpp/_macro.c @@ -1,3 +1,4 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ #ifdef _MSC_VER # define _POSIX_ #endif @@ -45,14 +46,13 @@ void args = NULL; if (tp < trp->lp && tp->type == LP && tp->wslen == 0) { - /* macro with args */ - int narg = 0; - tp += 1; args = new(Tokenrow); maketokenrow(2, args); if (tp->type != RP) { + /* macro with args */ + int narg = 0; int err = 0; for (;;) @@ -294,7 +294,7 @@ void { // Token * pOldNextTp; Tokenrow ntr; - int ntokc, narg, i; + int ntokc, narg; Tokenrow *atr[NARG + 1]; if (Mflag == 2) @@ -310,6 +310,8 @@ void ntokc = 1; else { + int i; + ntokc = gatherargs(trp, atr, &narg); if (narg < 0) { /* not actually a call (no '(') */ @@ -754,3 +756,4 @@ void outptr = op; } +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |