From 955516759cfed29122439938632964fed4f8a347 Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Sat, 20 Jun 2020 11:30:56 -0700 Subject: feat: file globbing in shell. added dynamic.mk --- sys/cmd/rc/var.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'sys/cmd/rc/var.c') diff --git a/sys/cmd/rc/var.c b/sys/cmd/rc/var.c index ef339d7..d442369 100644 --- a/sys/cmd/rc/var.c +++ b/sys/cmd/rc/var.c @@ -73,10 +73,13 @@ newvar(char *name, Var *link) Var *v; alloc(v); - v->name = name; - v->val = 0; - v->func = nil; - v->link = link; + v->name = name; + v->val = 0; + v->func = nil; + v->funcnew = 0; + v->new = 0; + v->update = nil; + v->link = link; return v; } @@ -106,3 +109,21 @@ vlookup(char *name) return v; return gvlookup(name); } + +static +void +set(char *name, Word *val, int call) +{ + Var *v = vlookup(name); + freelist(v->val); + v->val = val; + v->new = 1; + if (call && v->update) + v->update(v); +} + +void +setvar(char *name, Word *val) +{ + set(name, val, 1); +} -- cgit v1.2.1