1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #include "mk.h"
- void
- setvar(char *name, void *value)
- {
- symlook(name, S_VAR, value)->u.ptr = value;
- 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;
- }
|