aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/rc/exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/cmd/rc/exec.c')
-rw-r--r--sys/cmd/rc/exec.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/sys/cmd/rc/exec.c b/sys/cmd/rc/exec.c
index 425d00f..68d366a 100644
--- a/sys/cmd/rc/exec.c
+++ b/sys/cmd/rc/exec.c
@@ -578,6 +578,24 @@ Xword(void)
pushword(runner->code.exe[runner->code.i++].s);
}
+void
+Xtrue(void)
+{
+ if(!runner->status)
+ runner->code.i++;
+ else
+ runner->code.i = runner->code.exe[runner->code.i].i;
+}
+
+void
+Xfalse(void)
+{
+ if(runner->status)
+ runner->code.i++;
+ else
+ runner->code.i = runner->code.exe[runner->code.i].i;
+}
+
static
Word*
catlist(Word *l, Word *r, Word *tail)