56static void *default_malloc(
size_t size,
void *
data)
63static void default_free(
void *block,
void *
data)
89void *yield = (memctl ==
NULL)? malloc(
size) :
95 newmemctl->
malloc = default_malloc;
96 newmemctl->
free = default_free;
99else *newmemctl = *memctl;
116 void (*private_free)(
void *,
void *),
void *memory_data)
119if (private_malloc ==
NULL) private_malloc = default_malloc;
120if (private_free ==
NULL) private_free = default_free;
123gcontext->memctl.malloc = private_malloc;
124gcontext->memctl.free = private_free;
125gcontext->memctl.memory_data = memory_data;
134 { default_malloc, default_free,
NULL },
137 PRIV(default_tables),
156*ccontext =
PRIV(default_compile_context);
167 { default_malloc, default_free,
NULL },
190*mcontext =
PRIV(default_match_context);
201 { default_malloc, default_free,
NULL },
220*ccontext =
PRIV(default_convert_context);
236 gcontext->memctl.memory_data);
248 ccontext->memctl.memory_data);
260 mcontext->memctl.memory_data);
272 ccontext->memctl.memory_data);
287 gcontext->memctl.free(gcontext, gcontext->memctl.memory_data);
295 ccontext->memctl.free(ccontext, ccontext->memctl.memory_data);
303 mcontext->memctl.free(mcontext, mcontext->memctl.memory_data);
311 ccontext->memctl.free(ccontext, ccontext->memctl.memory_data);
328 const uint8_t *tables)
330ccontext->tables = tables;
341 ccontext->bsr_convention =
value;
352ccontext->max_pattern_length = length;
359ccontext->max_pattern_compiled_length = length;
374 ccontext->newline_convention = newline;
385ccontext->max_varlookbehind = limit;
392ccontext->parens_nest_limit = limit;
399ccontext->extra_options =
options;
405 int (*guard)(uint32_t,
void *),
void *user_data)
407ccontext->stack_guard = guard;
408ccontext->stack_guard_data = user_data;
419mcontext->callout = callout;
420mcontext->callout_data = callout_data;
427 void *substitute_callout_data)
429mcontext->substitute_callout = substitute_callout;
430mcontext->substitute_callout_data = substitute_callout_data;
437mcontext->heap_limit = limit;
444mcontext->match_limit = limit;
451mcontext->depth_limit = limit;
458mcontext->offset_limit = limit;
476 void *(*mymalloc)(
size_t,
void *),
void (*myfree)(
void *,
void *),
496ccontext->glob_separator = separator;
503if (escape > 255 || (escape != 0 && !ispunct(escape)))
505ccontext->glob_escape = escape;
#define pcre2_compile_context_copy
#define pcre2_convert_context
#define pcre2_set_offset_limit
#define pcre2_real_general_context
#define PCRE2_BSR_ANYCRLF
#define pcre2_set_compile_extra_options
#define pcre2_convert_context_free
#define pcre2_general_context
#define pcre2_set_callout
#define pcre2_set_heap_limit
#define pcre2_set_substitute_callout
#define PCRE2_NEWLINE_ANYCRLF
#define pcre2_general_context_free
#define pcre2_set_max_pattern_compiled_length
#define pcre2_match_context_free
#define pcre2_set_glob_escape
#define pcre2_set_match_limit
#define pcre2_compile_context_free
#define pcre2_substitute_callout_block
#define pcre2_real_compile_context
#define pcre2_general_context_copy
#define pcre2_set_compile_recursion_guard
#define pcre2_set_character_tables
#define pcre2_set_depth_limit
#define pcre2_general_context_create
#define pcre2_real_match_context
#define pcre2_match_context
#define pcre2_set_newline
#define pcre2_convert_context_copy
#define pcre2_set_parens_nest_limit
#define PCRE2_CALL_CONVENTION
#define pcre2_set_glob_separator
#define PCRE2_ERROR_BADDATA
#define PCRE2_NEWLINE_CRLF
#define pcre2_set_recursion_limit
#define pcre2_set_recursion_memory_management
#define PCRE2_NEWLINE_NUL
#define pcre2_convert_context_create
#define pcre2_set_max_pattern_length
#define pcre2_set_max_varlookbehind
#define pcre2_match_context_create
#define PCRE2_BSR_UNICODE
#define pcre2_match_context_copy
#define pcre2_real_convert_context
#define pcre2_callout_block
#define pcre2_compile_context_create
#define PCRE2_NEWLINE_ANY
#define pcre2_compile_context
void *PRIV memctl_malloc(size_t size, pcre2_memctl *memctl)
#define CHAR_GRAVE_ACCENT
#define MATCH_LIMIT_DEPTH
#define MAX_VARLOOKBEHIND
#define PARENS_NEST_LIMIT
PHP_JSON_API size_t int options
void *(* malloc)(size_t, void *)
void(* free)(void *, void *)
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)