Blob
1 #include "mk.h"3 void4 setvar(char *name, void *ptr)5 {6 symlook(name, S_VAR, ptr)->u.ptr = ptr;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 = s->u.ptr; 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 }