Blob
1 #include "mk.h"3 void4 setvar(char *name, void *value)5 {6 symlook(name, S_VAR, value)->value = value;7 symlook(name, S_MAKEVAR, (void*)"");8 }10 static void11 print1(Symtab *s)12 {13 Word *w;15 Bprint(&bout, "\t%s=", s->name);16 for (w = (Word *) s->value; w; w = w->next)17 Bprint(&bout, "'%s'", w->s);18 Bprint(&bout, "\n");19 }21 void22 dumpv(char *s)23 {24 Bprint(&bout, "%s:\n", s);25 symtraverse(S_VAR, print1);26 }28 char *29 shname(char *a)30 {31 Rune r;32 int n;34 while (*a) {35 n = chartorune(&r, a);36 if (!WORDCHR(r))37 break;38 a += n;39 }40 return a;41 }