]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/mk/arc.c
merge
[plan9front.git] / sys / src / cmd / mk / arc.c
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 }