949 |
int saved_max; /* Number of saved offsets */ |
int saved_max; /* Number of saved offsets */ |
950 |
} recursion_info; |
} recursion_info; |
951 |
|
|
|
/* When compiling in a mode that doesn't use recursive calls to match(), |
|
|
a structure is used to remember local variables on the heap. It is defined in |
|
|
pcre_exec.c, close to the match() function, so that it is easy to keep it in |
|
|
step with any changes of local variable. However, the pointer to the current |
|
|
frame must be saved in some "static" place over a longjmp(). We declare the |
|
|
structure here so that we can put a pointer in the match_data structure. NOTE: |
|
|
This isn't used for a "normal" compilation of pcre. */ |
|
|
|
|
|
struct heapframe; |
|
|
|
|
952 |
/* Structure for building a chain of data for holding the values of the subject |
/* Structure for building a chain of data for holding the values of the subject |
953 |
pointer at the start of each subpattern, so as to detect when an empty string |
pointer at the start of each subpattern, so as to detect when an empty string |
954 |
has been matched by a subpattern - to break infinite loops. */ |
has been matched by a subpattern - to break infinite loops. */ |
994 |
int eptrn; /* Next free eptrblock */ |
int eptrn; /* Next free eptrblock */ |
995 |
recursion_info *recursive; /* Linked list of recursion data */ |
recursion_info *recursive; /* Linked list of recursion data */ |
996 |
void *callout_data; /* To pass back to callouts */ |
void *callout_data; /* To pass back to callouts */ |
|
struct heapframe *thisframe; /* Used only when compiling for no recursion */ |
|
997 |
} match_data; |
} match_data; |
998 |
|
|
999 |
/* A similar structure is used for the same purpose by the DFA matching |
/* A similar structure is used for the same purpose by the DFA matching |