@@ -7,7 +7,7 @@ and semantics are as close as possible to those of the Perl 5 language.
77
88 Written by Philip Hazel
99 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
1111
1212-----------------------------------------------------------------------------
1313Redistribution 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
649649subpatterns is 65535 we must allow for 65536 strings to include the overall
650650match. (See also the heapframe structure below.) */
651651
652+ struct heapframe ; /* Forward reference */
653+
652654typedef 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 */
665669} pcre2_real_match_data ;
666670
667671
@@ -854,10 +858,6 @@ doing traditional NFA matching (pcre2_match() and friends). */
854858
855859typedef struct match_block {
856860 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 */
861861 PCRE2_SIZE heap_limit ; /* As it says */
862862 uint32_t match_limit ; /* As it says */
863863 uint32_t match_limit_depth ; /* As it says */
0 commit comments