198 |
#define PUBLIC_OPTIONS \ |
#define PUBLIC_OPTIONS \ |
199 |
(PCRE_CASELESS|PCRE_EXTENDED|PCRE_ANCHORED|PCRE_MULTILINE| \ |
(PCRE_CASELESS|PCRE_EXTENDED|PCRE_ANCHORED|PCRE_MULTILINE| \ |
200 |
PCRE_DOTALL|PCRE_DOLLAR_ENDONLY|PCRE_EXTRA|PCRE_UNGREEDY|PCRE_UTF8| \ |
PCRE_DOTALL|PCRE_DOLLAR_ENDONLY|PCRE_EXTRA|PCRE_UNGREEDY|PCRE_UTF8| \ |
201 |
PCRE_NO_AUTO_CAPTURE) |
PCRE_NO_AUTO_CAPTURE|PCRE_NO_UTF8_CHECK) |
202 |
|
|
203 |
#define PUBLIC_EXEC_OPTIONS \ |
#define PUBLIC_EXEC_OPTIONS \ |
204 |
(PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY) |
(PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY|PCRE_NO_UTF8_CHECK) |
205 |
|
|
206 |
#define PUBLIC_STUDY_OPTIONS 0 /* None defined */ |
#define PUBLIC_STUDY_OPTIONS 0 /* None defined */ |
207 |
|
|
214 |
#define REQ_UNSET (-2) |
#define REQ_UNSET (-2) |
215 |
#define REQ_NONE (-1) |
#define REQ_NONE (-1) |
216 |
|
|
217 |
/* Flags added to firstchar or reqchar */ |
/* Flags added to firstbyte or reqbyte; a "non-literal" item is either a |
218 |
|
variable-length repeat, or a anything other than literal characters. */ |
219 |
|
|
220 |
#define REQ_CASELESS 0x0100 /* indicates caselessness */ |
#define REQ_CASELESS 0x0100 /* indicates caselessness */ |
221 |
#define REQ_EOL 0x0200 /* indicates reqchar followed by $ */ |
#define REQ_VARY 0x0200 /* reqbyte followed non-literal item */ |
222 |
|
|
223 |
/* Miscellaneous definitions */ |
/* Miscellaneous definitions */ |
224 |
|
|
247 |
#define ESC_r '\r' |
#define ESC_r '\r' |
248 |
#endif |
#endif |
249 |
|
|
250 |
#ifndef ESC_t |
/* We can't officially use ESC_t because it is a POSIX reserved identifier |
251 |
#define ESC_t '\t' |
(presumably because of all the others like size_t). */ |
252 |
|
|
253 |
|
#ifndef ESC_tee |
254 |
|
#define ESC_tee '\t' |
255 |
#endif |
#endif |
256 |
|
|
257 |
/* These are escaped items that aren't just an encoding of a particular data |
/* These are escaped items that aren't just an encoding of a particular data |
526 |
#define ERR41 "unrecognized character after (?P" |
#define ERR41 "unrecognized character after (?P" |
527 |
#define ERR42 "syntax error after (?P" |
#define ERR42 "syntax error after (?P" |
528 |
#define ERR43 "two named groups have the same name" |
#define ERR43 "two named groups have the same name" |
529 |
|
#define ERR44 "invalid UTF-8 string" |
530 |
|
|
531 |
/* All character handling must be done as unsigned characters. Otherwise there |
/* All character handling must be done as unsigned characters. Otherwise there |
532 |
are problems with top-bit-set characters and functions such as isspace(). |
are problems with top-bit-set characters and functions such as isspace(). |
575 |
int name_entry_size; /* Size of each entry */ |
int name_entry_size; /* Size of each entry */ |
576 |
int top_backref; /* Maximum back reference */ |
int top_backref; /* Maximum back reference */ |
577 |
unsigned int backref_map; /* Bitmap of low back refs */ |
unsigned int backref_map; /* Bitmap of low back refs */ |
578 |
|
int req_varyopt; /* "After variable item" flag for reqbyte */ |
579 |
} compile_data; |
} compile_data; |
580 |
|
|
581 |
/* Structure for maintaining a chain of pointers to the currently incomplete |
/* Structure for maintaining a chain of pointers to the currently incomplete |
602 |
doing the matching, so that they are thread-safe. */ |
doing the matching, so that they are thread-safe. */ |
603 |
|
|
604 |
typedef struct match_data { |
typedef struct match_data { |
605 |
int match_call_count; /* As it says */ |
unsigned long int match_call_count; /* As it says */ |
606 |
int match_limit; /* As it says */ |
unsigned long int match_limit;/* As it says */ |
607 |
int *offset_vector; /* Offset vector */ |
int *offset_vector; /* Offset vector */ |
608 |
int offset_end; /* One past the end */ |
int offset_end; /* One past the end */ |
609 |
int offset_max; /* The maximum usable for return data */ |
int offset_max; /* The maximum usable for return data */ |