blob: 2db2ee72ecb5302f989bab607cc55f22b6804f20 [file] [log] [blame]
struct re_pattern_buffer {
unsigned char *buffer;
unsigned long int allocated;
};
void byte_regex_compile (struct re_pattern_buffer *bufp,
unsigned char *begalt, unsigned char *b)
{
unsigned char *pfrom;
unsigned char *pto;
while ((unsigned long) (b - bufp->buffer + 3) > bufp->allocated)
{
unsigned char *old_buffer = bufp->buffer;
bufp->allocated <<= 1;
if (old_buffer != bufp->buffer)
{
int incr = bufp->buffer - old_buffer;
b += incr;
}
}
pfrom = b;
pto = b + 3;
while (pfrom != begalt)
*--pto = *--pfrom;
}