aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/troff/n5.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/troff/n5.c')
-rw-r--r--src/cmd/troff/n5.c23
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())) == ' ')