#include "mk.h" | |
void | |
setvar(char *name, void *ptr) | |
{ | |
symlook(name, S_VAR, ptr)->u.ptr = ptr; | |
symlook(name, S_MAKEVAR, (void*)""); | |
} | |
static void | |
print1(Symtab *s) | |
{ | |
Word *w; | |
Bprint(&bout, "\t%s=", s->name); | |
for (w = s->u.ptr; w; w = w->next) | |
Bprint(&bout, "'%s'", w->s); | |
Bprint(&bout, "\n"); | |
} | |
void | |
dumpv(char *s) | |
{ | |
Bprint(&bout, "%s:\n", s); | |
symtraverse(S_VAR, print1); | |
} | |
char * | |
shname(char *a) | |
{ | |
Rune r; | |
int n; | |
while (*a) { | |
n = chartorune(&r, a); | |
if (!WORDCHR(r)) | |
break; | |
a += n; | |
} | |
return a; | |
} |