summaryrefslogtreecommitdiff
path: root/sys/src/cmd/cpp
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2020-04-25 10:57:17 -0700
committerOri Bernstein <ori@eigenstate.org>2020-04-25 10:57:17 -0700
commitd52d7bc121c9c761659b6ca3556f360d341ed6c8 (patch)
tree5b0463739e4ee974f81f24f4cab23596f837c210 /sys/src/cmd/cpp
parent2de164c51dc3330859c160b80440e1363fb5b566 (diff)
Backed out changeset 2737b9af622b
not what I wanted to commit.
Diffstat (limited to 'sys/src/cmd/cpp')
-rw-r--r--sys/src/cmd/cpp/macro.c16
-rw-r--r--sys/src/cmd/cpp/test.c5
2 files changed, 6 insertions, 15 deletions
diff --git a/sys/src/cmd/cpp/macro.c b/sys/src/cmd/cpp/macro.c
index 85e544151..67af0bd0c 100644
--- a/sys/src/cmd/cpp/macro.c
+++ b/sys/src/cmd/cpp/macro.c
@@ -350,7 +350,7 @@ ispaste(Tokenrow *rtr, Token **ap, Token **an, int *ntok)
void
substargs(Nlist *np, Tokenrow *rtr, Tokenrow **atr)
{
- Tokenrow ttr, rp, rn;
+ Tokenrow ttr;
Token *tp, *ap, *an, *pp, *pn;
int ntok, argno, hs;
@@ -369,25 +369,19 @@ substargs(Nlist *np, Tokenrow *rtr, Tokenrow **atr)
insertrow(rtr, ntok, stringify(atr[argno]));
} else if (ispaste(rtr, &ap, &an, &ntok)) { /* first token, just do the next one */
pp = ap;
- rp.tp = nil;
pn = an;
- rn.tp = nil;
if (ap && (argno = lookuparg(np, ap)) >= 0){
pp = nil;
- rp = *atr[argno];
- if(rp.tp != rp.lp)
- pp = --rp.lp;
+ if(atr[argno]->tp != atr[argno]->lp)
+ pp = atr[argno]->lp - 1;
}
if (an && (argno = lookuparg(np, an)) >= 0) {
pn = nil;
- rn = *atr[argno];
- if(rn.tp != rn.lp)
- pn = rn.bp++;
+ if(atr[argno]->tp != atr[argno]->lp)
+ pn = atr[argno]->lp - 1;
}
glue(&ttr, pp, pn);
- insertrow(rtr, 0, &rp);
insertrow(rtr, ntok, &ttr);
- insertrow(rtr, 0, &rn);
free(ttr.bp);
} else if (rtr->tp->type==NAME) {
if((argno = lookuparg(np, rtr->tp)) >= 0) {
diff --git a/sys/src/cmd/cpp/test.c b/sys/src/cmd/cpp/test.c
index 510419050..451e364f4 100644
--- a/sys/src/cmd/cpp/test.c
+++ b/sys/src/cmd/cpp/test.c
@@ -21,9 +21,6 @@ CAT3(blah)
#define FOO CAT(BAR, 3)
FOO
-/* Expected: a bc d */
-CAT(a b, c d)
-
/*
* CURRENTLY BROKEN:
* __VA_ARGS__ requires at least one item.
@@ -61,4 +58,4 @@ g(x+(3,4)-w) | h 5) & m
* It should treat no args as a single empty arg list.
p() i[q()] = { q(1), r(2,3), r(4,), r(,5), r(,) };
char c[2][6] = { str(hello), str() };
-*/
+*/ \ No newline at end of file