1 struct re_pattern_buffer { 2 unsigned char *buffer; 3 unsigned long int allocated; 4 }; byte_regex_compile(struct re_pattern_buffer * bufp,unsigned char * begalt,unsigned char * b)5void byte_regex_compile (struct re_pattern_buffer *bufp, 6 unsigned char *begalt, unsigned char *b) 7 { 8 unsigned char *pfrom; 9 unsigned char *pto; 10 11 while ((unsigned long) (b - bufp->buffer + 3) > bufp->allocated) 12 { 13 unsigned char *old_buffer = bufp->buffer; 14 bufp->allocated <<= 1; 15 if (old_buffer != bufp->buffer) 16 { 17 int incr = bufp->buffer - old_buffer; 18 b += incr; 19 } 20 } 21 pfrom = b; 22 pto = b + 3; 23 while (pfrom != begalt) 24 *--pto = *--pfrom; 25 } 26 27