@@ -7,7 +7,7 @@ and semantics are as close as possible to those of the Perl 5 language.
7
7
8
8
Written by Philip Hazel
9
9
Original API code Copyright (c) 1997-2012 University of Cambridge
10
- New API code Copyright (c) 2016-2018 University of Cambridge
10
+ New API code Copyright (c) 2016-2022 University of Cambridge
11
11
12
12
-----------------------------------------------------------------------------
13
13
Redistribution and use in source and binary forms, with or without
@@ -649,19 +649,23 @@ the size varies from call to call. As the maximum number of capturing
649
649
subpatterns is 65535 we must allow for 65536 strings to include the overall
650
650
match. (See also the heapframe structure below.) */
651
651
652
+ struct heapframe ; /* Forward reference */
653
+
652
654
typedef struct pcre2_real_match_data {
653
- pcre2_memctl memctl ;
654
- const pcre2_real_code * code ; /* The pattern used for the match */
655
- PCRE2_SPTR subject ; /* The subject that was matched */
656
- PCRE2_SPTR mark ; /* Pointer to last mark */
657
- PCRE2_SIZE leftchar ; /* Offset to leftmost code unit */
658
- PCRE2_SIZE rightchar ; /* Offset to rightmost code unit */
659
- PCRE2_SIZE startchar ; /* Offset to starting code unit */
660
- uint8_t matchedby ; /* Type of match (normal, JIT, DFA) */
661
- uint8_t flags ; /* Various flags */
662
- uint16_t oveccount ; /* Number of pairs */
663
- int rc ; /* The return code from the match */
664
- PCRE2_SIZE ovector [131072 ]; /* Must be last in the structure */
655
+ pcre2_memctl memctl ; /* Memory control fields */
656
+ const pcre2_real_code * code ; /* The pattern used for the match */
657
+ PCRE2_SPTR subject ; /* The subject that was matched */
658
+ PCRE2_SPTR mark ; /* Pointer to last mark */
659
+ struct heapframe * heapframes ; /* Backtracking frames heap memory */
660
+ PCRE2_SIZE heapframes_size ; /* Malloc-ed size */
661
+ PCRE2_SIZE leftchar ; /* Offset to leftmost code unit */
662
+ PCRE2_SIZE rightchar ; /* Offset to rightmost code unit */
663
+ PCRE2_SIZE startchar ; /* Offset to starting code unit */
664
+ uint8_t matchedby ; /* Type of match (normal, JIT, DFA) */
665
+ uint8_t flags ; /* Various flags */
666
+ uint16_t oveccount ; /* Number of pairs */
667
+ int rc ; /* The return code from the match */
668
+ PCRE2_SIZE ovector [131072 ]; /* Must be last in the structure */
665
669
} pcre2_real_match_data ;
666
670
667
671
@@ -854,10 +858,6 @@ doing traditional NFA matching (pcre2_match() and friends). */
854
858
855
859
typedef struct match_block {
856
860
pcre2_memctl memctl ; /* For general use */
857
- PCRE2_SIZE frame_vector_size ; /* Size of a backtracking frame */
858
- heapframe * match_frames ; /* Points to vector of frames */
859
- heapframe * match_frames_top ; /* Points after the end of the vector */
860
- heapframe * stack_frames ; /* The original vector on the stack */
861
861
PCRE2_SIZE heap_limit ; /* As it says */
862
862
uint32_t match_limit ; /* As it says */
863
863
uint32_t match_limit_depth ; /* As it says */
0 commit comments