From 6d50d5b97d49a74a8faf587ec2bbf234626adf0c Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Tue, 19 Oct 2021 14:16:54 -0700 Subject: Feat(rc): added subshell commands and cd builtin Slowly chipping away at a decent feature list. Subshell commands are executed by @{ ... }. --- sys/cmd/rc/code.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'sys/cmd/rc/code.c') 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)); -- cgit v1.2.1