aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/rc/word.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/cmd/rc/word.c')
-rw-r--r--sys/cmd/rc/word.c64
1 files changed, 0 insertions, 64 deletions
diff --git a/sys/cmd/rc/word.c b/sys/cmd/rc/word.c
deleted file mode 100644
index 84ff40c..0000000
--- a/sys/cmd/rc/word.c
+++ /dev/null
@@ -1,64 +0,0 @@
-#include "rc.h"
-
-void
-pushlist(void)
-{
- List *ls;
-
- alloc(ls);
- ls->words = nil;
- ls->link = shell->stack, shell->stack = ls;
-}
-
-void
-freelist(Word *w)
-{
- Word *it;
- while (w) {
- it = w->link;
- efree(w->word);
- efree(w);
- w = it;
- }
-}
-
-void
-poplist(void)
-{
- List *ls = shell->stack;
- if (!ls)
- panicf("shell stack underflow");
-
- freelist(ls->words);
- shell->stack = ls->link;
- efree(ls);
-}
-
-int
-count(Word *w)
-{
- int n;
- for (n=0; w; n++)
- w = w->link;
- return n;
-}
-
-Word*
-newword(char *w, Word *link)
-{
- Word *wd;
-
- alloc(wd);
- wd->word = strdup(w);
- wd->link = link;
-
- return wd;
-}
-
-void
-pushword(char *w)
-{
- if (shell->stack == nil)
- panicf("no active stack");
- shell->stack->words = newword(w, shell->stack->words);
-}