[BACK]Return to b.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / awk

Diff for /src/usr.bin/awk/b.c between version 1.5 and 1.6

version 1.5, 1997/08/25 16:17:10 version 1.6, 1999/04/18 17:06:30
Line 79 
Line 79 
 {  {
         int i, use, nuse;          int i, use, nuse;
         fa *pfa;          fa *pfa;
           static int now = 1;
   
         if (setvec == 0) {      /* first time through any RE */          if (setvec == 0) {      /* first time through any RE */
                 maxsetvec = MAXLIN;                  maxsetvec = MAXLIN;
Line 93 
Line 94 
         for (i = 0; i < nfatab; i++)    /* is it there already? */          for (i = 0; i < nfatab; i++)    /* is it there already? */
                 if (fatab[i]->anchor == anchor                  if (fatab[i]->anchor == anchor
                   && strcmp(fatab[i]->restr, s) == 0) {                    && strcmp(fatab[i]->restr, s) == 0) {
                         fatab[i]->use++;                          fatab[i]->use = now++;
                         return fatab[i];                          return fatab[i];
         }          }
         pfa = mkdfa(s, anchor);          pfa = mkdfa(s, anchor);
         if (nfatab < NFA) {     /* room for another */          if (nfatab < NFA) {     /* room for another */
                 fatab[nfatab] = pfa;                  fatab[nfatab] = pfa;
                 fatab[nfatab]->use = 1;                  fatab[nfatab]->use = now++;
                 nfatab++;                  nfatab++;
                 return pfa;                  return pfa;
         }          }
Line 112 
Line 113 
                 }                  }
         freefa(fatab[nuse]);          freefa(fatab[nuse]);
         fatab[nuse] = pfa;          fatab[nuse] = pfa;
         pfa->use = 1;          pfa->use = now++;
         return pfa;          return pfa;
 }  }
   

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6