mirror of
https://github.com/pocoproject/poco.git
synced 2025-11-04 12:17:37 +01:00
upgrade bundled PCRE to 8.45
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
and semantics are as close as possible to those of the Perl 5 language.
|
and semantics are as close as possible to those of the Perl 5 language.
|
||||||
|
|
||||||
Written by Philip Hazel
|
Written by Philip Hazel
|
||||||
Copyright (c) 1997-2020 University of Cambridge
|
Copyright (c) 1997-2021 University of Cambridge
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
@@ -9101,6 +9101,8 @@ pcre_uchar cworkspace[COMPILE_WORK_SIZE];
|
|||||||
similar way to cworkspace, it can be expanded using malloc() if necessary. */
|
similar way to cworkspace, it can be expanded using malloc() if necessary. */
|
||||||
|
|
||||||
named_group named_groups[NAMED_GROUP_LIST_SIZE];
|
named_group named_groups[NAMED_GROUP_LIST_SIZE];
|
||||||
|
cd->named_groups = named_groups;
|
||||||
|
cd->named_group_list_size = NAMED_GROUP_LIST_SIZE;
|
||||||
|
|
||||||
/* Set this early so that early errors get offset 0. */
|
/* Set this early so that early errors get offset 0. */
|
||||||
|
|
||||||
@@ -9374,8 +9376,6 @@ cd->hwm = cworkspace;
|
|||||||
cd->iscondassert = FALSE;
|
cd->iscondassert = FALSE;
|
||||||
cd->start_workspace = cworkspace;
|
cd->start_workspace = cworkspace;
|
||||||
cd->workspace_size = COMPILE_WORK_SIZE;
|
cd->workspace_size = COMPILE_WORK_SIZE;
|
||||||
cd->named_groups = named_groups;
|
|
||||||
cd->named_group_list_size = NAMED_GROUP_LIST_SIZE;
|
|
||||||
cd->start_pattern = (const pcre_uchar *)pattern;
|
cd->start_pattern = (const pcre_uchar *)pattern;
|
||||||
cd->end_pattern = (const pcre_uchar *)(pattern + STRLEN_UC((const pcre_uchar *)pattern));
|
cd->end_pattern = (const pcre_uchar *)(pattern + STRLEN_UC((const pcre_uchar *)pattern));
|
||||||
cd->req_varyopt = 0;
|
cd->req_varyopt = 0;
|
||||||
@@ -9486,6 +9486,7 @@ if (cd->names_found > 0)
|
|||||||
add_name(cd, ng->name, ng->length, ng->number);
|
add_name(cd, ng->name, ng->length, ng->number);
|
||||||
if (cd->named_group_list_size > NAMED_GROUP_LIST_SIZE)
|
if (cd->named_group_list_size > NAMED_GROUP_LIST_SIZE)
|
||||||
(PUBL(free))((void *)cd->named_groups);
|
(PUBL(free))((void *)cd->named_groups);
|
||||||
|
cd->named_group_list_size = 0; /* So we don't free it twice */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set up a starting, non-extracting bracket, then compile the expression. On
|
/* Set up a starting, non-extracting bracket, then compile the expression. On
|
||||||
@@ -9636,6 +9637,8 @@ if (errorcode != 0)
|
|||||||
{
|
{
|
||||||
(PUBL(free))(re);
|
(PUBL(free))(re);
|
||||||
PCRE_EARLY_ERROR_RETURN:
|
PCRE_EARLY_ERROR_RETURN:
|
||||||
|
if (cd->named_group_list_size > NAMED_GROUP_LIST_SIZE)
|
||||||
|
(PUBL(free))((void *)cd->named_groups);
|
||||||
*erroroffset = (int)(ptr - (const pcre_uchar *)pattern);
|
*erroroffset = (int)(ptr - (const pcre_uchar *)pattern);
|
||||||
PCRE_EARLY_ERROR_RETURN2:
|
PCRE_EARLY_ERROR_RETURN2:
|
||||||
*errorptr = find_error_text(errorcode);
|
*errorptr = find_error_text(errorcode);
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ sure both macros are undefined; an emulation function will then be used. */
|
|||||||
#define PACKAGE_NAME "PCRE"
|
#define PACKAGE_NAME "PCRE"
|
||||||
|
|
||||||
/* Define to the full name and version of this package. */
|
/* Define to the full name and version of this package. */
|
||||||
#define PACKAGE_STRING "PCRE 8.44"
|
#define PACKAGE_STRING "PCRE 8.45"
|
||||||
|
|
||||||
/* Define to the one symbol short name of this package. */
|
/* Define to the one symbol short name of this package. */
|
||||||
#define PACKAGE_TARNAME "pcre"
|
#define PACKAGE_TARNAME "pcre"
|
||||||
@@ -298,7 +298,7 @@ sure both macros are undefined; an emulation function will then be used. */
|
|||||||
#define PACKAGE_URL ""
|
#define PACKAGE_URL ""
|
||||||
|
|
||||||
/* Define to the version of this package. */
|
/* Define to the version of this package. */
|
||||||
#define PACKAGE_VERSION "8.44"
|
#define PACKAGE_VERSION "8.45"
|
||||||
|
|
||||||
/* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
|
/* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
|
||||||
parentheses (of any kind) in a pattern. This limits the amount of system
|
parentheses (of any kind) in a pattern. This limits the amount of system
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
and semantics are as close as possible to those of the Perl 5 language.
|
and semantics are as close as possible to those of the Perl 5 language.
|
||||||
|
|
||||||
Written by Philip Hazel
|
Written by Philip Hazel
|
||||||
Copyright (c) 1997-2018 University of Cambridge
|
Copyright (c) 1997-2021 University of Cambridge
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
@@ -759,7 +759,7 @@ for (;;)
|
|||||||
md->mark = NULL; /* In case previously set by assertion */
|
md->mark = NULL; /* In case previously set by assertion */
|
||||||
RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode] + ecode[1], offset_top, md,
|
RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode] + ecode[1], offset_top, md,
|
||||||
eptrb, RM55);
|
eptrb, RM55);
|
||||||
if ((rrc == MATCH_MATCH || rrc == MATCH_ACCEPT) &&
|
if ((rrc == MATCH_MATCH || rrc == MATCH_ACCEPT || rrc == MATCH_KETRPOS) &&
|
||||||
md->mark == NULL) md->mark = ecode + 2;
|
md->mark == NULL) md->mark = ecode + 2;
|
||||||
|
|
||||||
/* A return of MATCH_SKIP_ARG means that matching failed at SKIP with an
|
/* A return of MATCH_SKIP_ARG means that matching failed at SKIP with an
|
||||||
|
|||||||
Reference in New Issue
Block a user