URI: 
       arc.c - 9base - revived minimalist port of Plan 9 userland to Unix
  HTML git clone git://git.suckless.org/9base
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR 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 }