| arc.c - 9base - revived minimalist port of Plan 9 userland to Unix | |
| git clone git://git.suckless.org/9base | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| arc.c (826B) | |
| --- | |
| 1 #include "mk.h" | |
| 2 | |
| 3 Arc * | |
| 4 newarc(Node *n, Rule *r, char *stem, Resub *match) | |
| 5 { | |
| 6 Arc *a; | |
| 7 | |
| 8 a = (Arc *)Malloc(sizeof(Arc)); | |
| 9 a->n = n; | |
| 10 a->r = r; | |
| 11 a->stem = strdup(stem); | |
| 12 rcopy(a->match, match, NREGEXP); | |
| 13 a->next = 0; | |
| 14 a->flag = 0; | |
| 15 a->prog = r->prog; | |
| 16 return(a); | |
| 17 } | |
| 18 | |
| 19 void | |
| 20 dumpa(char *s, Arc *a) | |
| 21 { | |
| 22 char buf[1024]; | |
| 23 | |
| 24 Bprint(&bout, "%sArc@%p: n=%p r=%p flag=0x%x stem='%s'", | |
| 25 s, a, a->n, a->r, a->flag, a->stem); | |
| 26 if(a->prog) | |
| 27 Bprint(&bout, " prog='%s'", a->prog); | |
| 28 Bprint(&bout, "\n"); | |
| 29 | |
| 30 if(a->n){ | |
| 31 snprint(buf, sizeof(buf), "%s ", (*s == ' ')? s:""); | |
| 32 dumpn(buf, a->n); | |
| 33 } | |
| 34 } | |
| 35 | |
| 36 void | |
| 37 nrep(void) | |
| 38 { | |
| 39 Symtab *sym; | |
| 40 Word *w; | |
| 41 | |
| 42 sym = symlook("NREP", S_VAR, 0); | |
| 43 if(sym){ | |
| 44 w = sym->u.ptr; | |
| 45 if (w && w->s && *w->s) | |
| 46 nreps = atoi(w->s); | |
| 47 } | |
| 48 if(nreps < 1) | |
| 49 nreps = 1; | |
| 50 if(DEBUG(D_GRAPH)) | |
| 51 Bprint(&bout, "nreps = %d\n", nreps); | |
| 52 } |