| 3039 |
int firstbyte, reqbyte; |
int firstbyte, reqbyte; |
| 3040 |
int zeroreqbyte, zerofirstbyte; |
int zeroreqbyte, zerofirstbyte; |
| 3041 |
int req_caseopt, reqvary, tempreqvary; |
int req_caseopt, reqvary, tempreqvary; |
| 3042 |
int options = *optionsptr; |
int options = *optionsptr; /* May change dynamically */ |
| 3043 |
int after_manual_callout = 0; |
int after_manual_callout = 0; |
| 3044 |
int length_prevgroup = 0; |
int length_prevgroup = 0; |
| 3045 |
register int c; |
register int c; |
| 3057 |
uschar *save_hwm = NULL; |
uschar *save_hwm = NULL; |
| 3058 |
uschar classbits[32]; |
uschar classbits[32]; |
| 3059 |
|
|
| 3060 |
|
/* We can fish out the UTF-8 setting once and for all into a BOOL, but we |
| 3061 |
|
must not do this for other options (e.g. PCRE_EXTENDED) because they may change |
| 3062 |
|
dynamically as we process the pattern. */ |
| 3063 |
|
|
| 3064 |
#ifdef SUPPORT_UTF8 |
#ifdef SUPPORT_UTF8 |
| 3065 |
BOOL class_utf8; |
BOOL class_utf8; |
| 3066 |
BOOL utf8 = (options & PCRE_UTF8) != 0; |
BOOL utf8 = (options & PCRE_UTF8) != 0; |
| 3241 |
previous_callout = NULL; |
previous_callout = NULL; |
| 3242 |
} |
} |
| 3243 |
|
|
| 3244 |
/* In extended mode, skip white space and comments */ |
/* In extended mode, skip white space and comments. */ |
| 3245 |
|
|
| 3246 |
if ((options & PCRE_EXTENDED) != 0) |
if ((options & PCRE_EXTENDED) != 0) |
| 3247 |
{ |
{ |
| 5576 |
|
|
| 5577 |
temp = cd->end_pattern; |
temp = cd->end_pattern; |
| 5578 |
cd->end_pattern = ptr; |
cd->end_pattern = ptr; |
| 5579 |
recno = find_parens(cd, name, namelen, |
recno = find_parens(cd, name, namelen, |
| 5580 |
(options & PCRE_EXTENDED) != 0, utf8); |
(options & PCRE_EXTENDED) != 0, utf8); |
| 5581 |
cd->end_pattern = temp; |
cd->end_pattern = temp; |
| 5582 |
if (recno < 0) recno = 0; /* Forward ref; set dummy number */ |
if (recno < 0) recno = 0; /* Forward ref; set dummy number */ |