diff options
Diffstat (limited to 'sys/cmd/rc/code.c')
-rw-r--r-- | sys/cmd/rc/code.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/cmd/rc/code.c b/sys/cmd/rc/code.c index 719e63b..38cc06a 100644 --- a/sys/cmd/rc/code.c +++ b/sys/cmd/rc/code.c @@ -110,6 +110,18 @@ walk(Tree *node) storepc(addr); break; + case Tsubshell: + emitf(Xsubshell); + addr = emiti(0); + walk(node->child[0]); + emitf(Xexit); + storepc(addr); + break; + + case Tbang: + walk(node->child[0]); + emitf(Xbang); + case Tword: emitf(Xword); emits(strdup(node->str)); |