diff options
Diffstat (limited to 'src/cmd/troff/n5.c')
-rw-r--r-- | src/cmd/troff/n5.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/src/cmd/troff/n5.c b/src/cmd/troff/n5.c index 72f9bbb6..2c7d3287 100644 --- a/src/cmd/troff/n5.c +++ b/src/cmd/troff/n5.c @@ -8,7 +8,7 @@ #include "fns.h" #include "ext.h" -int iflist[NIF]; /* whether 'else' is true */ +int iflist[NIF]; int ifx; int ifnum = 0; /* trying numeric expression for .if or .ie condition */ @@ -612,16 +612,6 @@ void envcopy(Env *e1, Env *e2) /* copy env e2 to e1 */ } -void caseei(void) -{ - if (--ifx < 0) { - ifx = 0; - iflist[0] = 0; - } - caseif1(1); - ifx++; -} - void caseel(void) { if (--ifx < 0) { @@ -631,6 +621,7 @@ void caseel(void) caseif1(2); } + void caseie(void) { if (ifx >= NIF) { @@ -638,11 +629,11 @@ void caseie(void) ifx = 0; edone(040); } - iflist[ifx] = 1; caseif1(1); ifx++; } + void caseif(void) { caseif1(0); @@ -654,7 +645,7 @@ void caseif1(int x) int notflag, true; Tchar i; - if (x == 2) { /* .el */ + if (x == 2) { notflag = 0; true = iflist[ifx]; goto i1; @@ -700,10 +691,8 @@ void caseif1(int x) } i1: true ^= notflag; - if (x == 1) { /* .ie or .ei */ - true = true && iflist[ifx]; - iflist[ifx] = iflist[ifx] && !true; - } + if (x == 1) + iflist[ifx] = !true; if (true) { i2: while ((cbits(i = getch())) == ' ') |