[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.30 and 1.31

version 1.30, 2020/06/10 21:04:40 version 1.31, 2020/06/10 21:05:02
Line 271 
Line 271 
                 parent(left(p)) = p;                  parent(left(p)) = p;
                 parent(right(p)) = p;                  parent(right(p)) = p;
                 break;                  break;
           case ZERO:
                   break;
         default:        /* can't happen */          default:        /* can't happen */
                 FATAL("can't happen: unknown type %d in penter", type(p));                  FATAL("can't happen: unknown type %d in penter", type(p));
                 break;                  break;
Line 285 
Line 287 
                 xfree(p);                  xfree(p);
                 break;                  break;
         UNARY          UNARY
           case ZERO:
                 freetr(left(p));                  freetr(left(p));
                 xfree(p);                  xfree(p);
                 break;                  break;
Line 444 
Line 447 
                 cfoll(f,left(v));                  cfoll(f,left(v));
                 cfoll(f,right(v));                  cfoll(f,right(v));
                 break;                  break;
           case ZERO:
                   break;
         default:        /* can't happen */          default:        /* can't happen */
                 FATAL("can't happen: unknown type %d in cfoll", type(v));                  FATAL("can't happen: unknown type %d in cfoll", type(v));
         }          }
Line 487 
Line 492 
                 b = first(right(p));                  b = first(right(p));
                 if (first(left(p)) == 0 || b == 0) return(0);                  if (first(left(p)) == 0 || b == 0) return(0);
                 return(1);                  return(1);
           case ZERO:
                   return 0;
         }          }
         FATAL("can't happen: unknown type %d in first", type(p));       /* can't happen */          FATAL("can't happen: unknown type %d in first", type(p));       /* can't happen */
         return(-1);          return(-1);
Line 846 
Line 853 
         case QUEST:          case QUEST:
                 rtok = relex();                  rtok = relex();
                 return (unary(op2(QUEST, np, NIL)));                  return (unary(op2(QUEST, np, NIL)));
           case ZERO:
                   rtok = relex();
                   return (unary(op2(ZERO, np, NIL)));
         default:          default:
                 return (np);                  return (np);
         }          }
Line 880 
Line 890 
   
 #endif  #endif
   
 struct charclass {  static const struct charclass {
         const char *cc_name;          const char *cc_name;
         int cc_namelen;          int cc_namelen;
         int (*cc_func)(int);          int (*cc_func)(int);
Line 916 
Line 926 
         int i, j;          int i, j;
         uschar *buf = NULL;          uschar *buf = NULL;
         int ret = 1;          int ret = 1;
         bool init_q = (firstnum == 0);          /* first added char will be ? */          int init_q = (firstnum == 0);           /* first added char will be ? */
         int n_q_reps = secondnum-firstnum;      /* m>n, so reduce until {1,m-n} left  */          int n_q_reps = secondnum-firstnum;      /* m>n, so reduce until {1,m-n} left  */
         int prefix_length = reptok - basestr;   /* prefix includes first rep    */          int prefix_length = reptok - basestr;   /* prefix includes first rep    */
         int suffix_length = strlen((const char *) reptok) - reptoklen;  /* string after rep specifier   */          int suffix_length = strlen((const char *) reptok) - reptoklen;  /* string after rep specifier   */
Line 1024 
Line 1034 
         static uschar *buf = NULL;          static uschar *buf = NULL;
         static int bufsz = 100;          static int bufsz = 100;
         uschar *bp;          uschar *bp;
         struct charclass *cc;          const struct charclass *cc;
         int i;          int i;
         int num, m;          int num, m;
         bool commafound, digitfound;          bool commafound, digitfound;
Line 1198 
Line 1208 
                                 if (repeat(starttok, prestr-starttok, lastatom,                                  if (repeat(starttok, prestr-starttok, lastatom,
                                            startreptok - lastatom, n, m) > 0) {                                             startreptok - lastatom, n, m) > 0) {
                                         if (n == 0 && m == 0) {                                          if (n == 0 && m == 0) {
                                                 return EMPTYRE;                                                  return ZERO;
                                         }                                          }
                                         /* must rescan input for next token */                                          /* must rescan input for next token */
                                         goto rescan;                                          goto rescan;

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31