diff --git a/AUTHORS b/AUTHORS index f001cb7..c61b5f3 100644 --- a/AUTHORS +++ b/AUTHORS @@ -8,7 +8,7 @@ Email domain: gmail.com University of Cambridge Computing Service, Cambridge, England. -Copyright (c) 1997-2020 University of Cambridge +Copyright (c) 1997-2021 University of Cambridge All rights reserved @@ -19,7 +19,7 @@ Written by: Zoltan Herczeg Email local part: hzmester Emain domain: freemail.hu -Copyright(c) 2010-2020 Zoltan Herczeg +Copyright(c) 2010-2021 Zoltan Herczeg All rights reserved. @@ -30,7 +30,7 @@ Written by: Zoltan Herczeg Email local part: hzmester Emain domain: freemail.hu -Copyright(c) 2009-2020 Zoltan Herczeg +Copyright(c) 2009-2021 Zoltan Herczeg All rights reserved. #### diff --git a/ChangeLog b/ChangeLog index 6bc766d..338ef6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,38 +2,38 @@ Change Log for PCRE2 -------------------- -Version 10.37-RC1 xx-xxxx-2021 ---------------------------------- +Version 10.37-RC1 28-April-2021 +------------------------------- -1. Change RunGrepTest to use tr instead of sed when testing with binary -zero bytes, because sed varies a lot from system to system and has problems -with binary zeros. This is from Bugzilla #2681. Patch from Jeremie -Courreges-Anglas via Nam Nguyen. This fixes RunGrepTest for OpenBSD. Later: -it broke it for at least one version of Solaris, where tr can't handle binary -zeros. However, that system had /usr/xpg4/bin/tr installed, which works OK, so +1. Change RunGrepTest to use tr instead of sed when testing with binary +zero bytes, because sed varies a lot from system to system and has problems +with binary zeros. This is from Bugzilla #2681. Patch from Jeremie +Courreges-Anglas via Nam Nguyen. This fixes RunGrepTest for OpenBSD. Later: +it broke it for at least one version of Solaris, where tr can't handle binary +zeros. However, that system had /usr/xpg4/bin/tr installed, which works OK, so RunGrepTest now checks for that command and uses it if found. -2. Compiling with gcc 10.2's -fanalyzer option showed up a hypothetical problem -with a NULL dereference. I don't think this case could ever occur in practice, +2. Compiling with gcc 10.2's -fanalyzer option showed up a hypothetical problem +with a NULL dereference. I don't think this case could ever occur in practice, but I have put in a check in order to get rid of the compiler error. 3. An alternative patch for CMakeLists.txt because 10.36 #4 breaks CMake on Windows. Patch from email@cs-ware.de fixes bugzilla #2688. -4. Two bugs related to over-large numbers have been fixed so the behaviour is +4. Two bugs related to over-large numbers have been fixed so the behaviour is now the same as Perl. - - (a) A pattern such as /\214748364/ gave an overflow error instead of being + + (a) A pattern such as /\214748364/ gave an overflow error instead of being treated as the octal number \214 followed by literal digits. - - (b) A sequence such as {65536 that has no terminating } so is not a + + (b) A sequence such as {65536 that has no terminating } so is not a quantifier was nevertheless complaining that a quantifier number was too big. 5. A run of autoconf suggested that configure.ac was out-of-date with respect to the lastest autoconf. Running autoupdate made some valid changes, some valid -suggestions, and also some invalid changes, which were fixed by hand. Autoconf -now runs clean and the resulting "configure" seems to work, so I hope nothing -is broken. Later: the requirement for autoconf 2.70 broke some automatic test +suggestions, and also some invalid changes, which were fixed by hand. Autoconf +now runs clean and the resulting "configure" seems to work, so I hope nothing +is broken. Later: the requirement for autoconf 2.70 broke some automatic test robots. It doesn't seem to be necessary: trying a reduction to 2.60. 6. The pattern /a\K.(?0)*/ when matched against "abac" by the interpreter gave @@ -45,12 +45,12 @@ recursions such as /(a\K.(?1)*)/ did not have this problem. character repetitions are optimized than in 10.34. 8. When the names of the functions in the POSIX wrapper were changed to -pcre2_regcomp() etc. (see change 10.33 #4 below), functions with the original -names were left in the library so that pre-compiled programs would still work. -However, this has proved troublesome when programs link with several libraries, -some of which use PCRE2 via the POSIX interface while others use a native POSIX +pcre2_regcomp() etc. (see change 10.33 #4 below), functions with the original +names were left in the library so that pre-compiled programs would still work. +However, this has proved troublesome when programs link with several libraries, +some of which use PCRE2 via the POSIX interface while others use a native POSIX library. For this reason, the POSIX function names are removed in this release. -The macros in pcre2posix.h should ensure that re-compiling fixes any programs +The macros in pcre2posix.h should ensure that re-compiling fixes any programs that haven't been compiled since before 10.33. diff --git a/LICENCE b/LICENCE index 155d073..18684ce 100644 --- a/LICENCE +++ b/LICENCE @@ -26,7 +26,7 @@ Email domain: gmail.com University of Cambridge Computing Service, Cambridge, England. -Copyright (c) 1997-2020 University of Cambridge +Copyright (c) 1997-2021 University of Cambridge All rights reserved. @@ -37,7 +37,7 @@ Written by: Zoltan Herczeg Email local part: hzmester Email domain: freemail.hu -Copyright(c) 2010-2020 Zoltan Herczeg +Copyright(c) 2010-2021 Zoltan Herczeg All rights reserved. @@ -48,7 +48,7 @@ Written by: Zoltan Herczeg Email local part: hzmester Email domain: freemail.hu -Copyright(c) 2009-2020 Zoltan Herczeg +Copyright(c) 2009-2021 Zoltan Herczeg All rights reserved. diff --git a/NEWS b/NEWS index de797e7..a6ef50d 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,14 @@ News about PCRE2 releases ------------------------- +Version 10.37-RC1 28_April-2021 +------------------------------- + +A few more bug fixes and tidies. The only change of real note is the removal of +the actual POSIX names regcomp etc. from the POSIX wrapper library because +these have caused issues for some applications (see 10.33 #2 below). + + Version 10.36 04-December-2020 ------------------------------ diff --git a/NON-AUTOTOOLS-BUILD b/NON-AUTOTOOLS-BUILD index 2ce0fd5..6bf6576 100644 --- a/NON-AUTOTOOLS-BUILD +++ b/NON-AUTOTOOLS-BUILD @@ -40,9 +40,9 @@ GENERIC INSTRUCTIONS FOR THE PCRE2 C LIBRARY The following are generic instructions for building the PCRE2 C library "by hand". If you are going to use CMake, this section does not apply to you; you -can skip ahead to the CMake section. Note that the settings concerned with -8-bit, 16-bit, and 32-bit code units relate to the type of data string that -PCRE2 processes. They are NOT referring to the underlying operating system bit +can skip ahead to the CMake section. Note that the settings concerned with +8-bit, 16-bit, and 32-bit code units relate to the type of data string that +PCRE2 processes. They are NOT referring to the underlying operating system bit width. You do not have to do anything special to compile in a 64-bit environment, for example. @@ -90,7 +90,7 @@ environment, for example. The tables in src/pcre2_chartables.c are defaults. The caller of PCRE2 can specify alternative tables at run time. - (4) For a library that supports 8-bit code units in the character strings that + (4) For a library that supports 8-bit code units in the character strings that it processes, compile the following source files from the src directory, setting -DPCRE2_CODE_UNIT_WIDTH=8 as a compiler option. Also set -DHAVE_CONFIG_H if you have set up src/config.h with your configuration, diff --git a/README b/README index 1d6df8f..d1a3120 100644 --- a/README +++ b/README @@ -4,16 +4,17 @@ README file for PCRE2 (Perl-compatible regular expression library) PCRE2 is a re-working of the original PCRE1 library to provide an entirely new API. Since its initial release in 2015, there has been further development of the code and it now differs from PCRE1 in more than just the API. There are new -features and the internals have been improved. The latest release of PCRE2 is -available in three alternative formats from: +features, and the internals have been improved. The original PCRE1 library is +now obsolete and should not be used in new projects. The latest release of +PCRE2 is available in three alternative formats from: https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.gz https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.bz2 https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.zip -There is a mailing list for discussion about the development of PCRE (both the -original and new APIs) at pcre-dev@exim.org. You can access the archives and -subscribe or manage your subscription here: +There is a mailing list for discussion about the development of PCRE at +pcre-dev@exim.org. You can access the archives and subscribe or manage your +subscription here: https://lists.exim.org/mailman/listinfo/pcre-dev @@ -903,4 +904,4 @@ The distribution should contain the files listed below. Philip Hazel Email local part: Philip.Hazel Email domain: gmail.com -Last updated: 04 December 2020 +Last updated: 28 April 2021 diff --git a/configure.ac b/configure.ac index 1dd29fa..063e9bd 100644 --- a/configure.ac +++ b/configure.ac @@ -11,13 +11,13 @@ dnl be defined as -RC2, for example. For real releases, it should be empty. m4_define(pcre2_major, [10]) m4_define(pcre2_minor, [37]) m4_define(pcre2_prerelease, [-RC1]) -m4_define(pcre2_date, [2021-02-02]) +m4_define(pcre2_date, [2021-04-28]) # Libtool shared library interface versions (current:revision:age) -m4_define(libpcre2_8_version, [10:1:10]) -m4_define(libpcre2_16_version, [10:1:10]) -m4_define(libpcre2_32_version, [10:1:10]) -m4_define(libpcre2_posix_version, [2:3:0]) +m4_define(libpcre2_8_version, [10:2:10]) +m4_define(libpcre2_16_version, [10:2:10]) +m4_define(libpcre2_32_version, [10:2:10]) +m4_define(libpcre2_posix_version, [3:0:0]) # NOTE: The CMakeLists.txt file searches for the above variables in the first # 50 lines of this file. Please update that if the variables above are moved. diff --git a/doc/html/NON-AUTOTOOLS-BUILD.txt b/doc/html/NON-AUTOTOOLS-BUILD.txt index 2ce0fd5..6bf6576 100644 --- a/doc/html/NON-AUTOTOOLS-BUILD.txt +++ b/doc/html/NON-AUTOTOOLS-BUILD.txt @@ -40,9 +40,9 @@ GENERIC INSTRUCTIONS FOR THE PCRE2 C LIBRARY The following are generic instructions for building the PCRE2 C library "by hand". If you are going to use CMake, this section does not apply to you; you -can skip ahead to the CMake section. Note that the settings concerned with -8-bit, 16-bit, and 32-bit code units relate to the type of data string that -PCRE2 processes. They are NOT referring to the underlying operating system bit +can skip ahead to the CMake section. Note that the settings concerned with +8-bit, 16-bit, and 32-bit code units relate to the type of data string that +PCRE2 processes. They are NOT referring to the underlying operating system bit width. You do not have to do anything special to compile in a 64-bit environment, for example. @@ -90,7 +90,7 @@ environment, for example. The tables in src/pcre2_chartables.c are defaults. The caller of PCRE2 can specify alternative tables at run time. - (4) For a library that supports 8-bit code units in the character strings that + (4) For a library that supports 8-bit code units in the character strings that it processes, compile the following source files from the src directory, setting -DPCRE2_CODE_UNIT_WIDTH=8 as a compiler option. Also set -DHAVE_CONFIG_H if you have set up src/config.h with your configuration, diff --git a/doc/html/README.txt b/doc/html/README.txt index 1d6df8f..d1a3120 100644 --- a/doc/html/README.txt +++ b/doc/html/README.txt @@ -4,16 +4,17 @@ README file for PCRE2 (Perl-compatible regular expression library) PCRE2 is a re-working of the original PCRE1 library to provide an entirely new API. Since its initial release in 2015, there has been further development of the code and it now differs from PCRE1 in more than just the API. There are new -features and the internals have been improved. The latest release of PCRE2 is -available in three alternative formats from: +features, and the internals have been improved. The original PCRE1 library is +now obsolete and should not be used in new projects. The latest release of +PCRE2 is available in three alternative formats from: https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.gz https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.bz2 https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.zip -There is a mailing list for discussion about the development of PCRE (both the -original and new APIs) at pcre-dev@exim.org. You can access the archives and -subscribe or manage your subscription here: +There is a mailing list for discussion about the development of PCRE at +pcre-dev@exim.org. You can access the archives and subscribe or manage your +subscription here: https://lists.exim.org/mailman/listinfo/pcre-dev @@ -903,4 +904,4 @@ The distribution should contain the files listed below. Philip Hazel Email local part: Philip.Hazel Email domain: gmail.com -Last updated: 04 December 2020 +Last updated: 28 April 2021 diff --git a/doc/html/pcre2posix.html b/doc/html/pcre2posix.html index c54860f..0ad6f9e 100644 --- a/doc/html/pcre2posix.html +++ b/doc/html/pcre2posix.html @@ -73,8 +73,8 @@ Although they were not defined as protypes in pcre2posix.h, releases regcomp() etc. These simply passed their arguments to the PCRE2 functions. These functions were provided for backwards compatibility with earlier versions of PCRE2, which had only POSIX names. However, this has proved -troublesome in situations where a program links with several libraries, some of -which use PCRE2's POSIX interface while others use the real POSIX functions. +troublesome in situations where a program links with several libraries, some of +which use PCRE2's POSIX interface while others use the real POSIX functions. For this reason, the POSIX names have been removed since release 10.37.

diff --git a/doc/html/pcre2test.html b/doc/html/pcre2test.html index 3a7a9b7..09d3a0e 100644 --- a/doc/html/pcre2test.html +++ b/doc/html/pcre2test.html @@ -1421,8 +1421,8 @@ replacement strings cannot contain commas, because a comma signifies the end of a modifier. This is not thought to be an issue in a test program.

-Specifying a completely empty replacement string disables this modifier. -However, it is possible to specify an empty replacement by providing a buffer +Specifying a completely empty replacement string disables this modifier. +However, it is possible to specify an empty replacement by providing a buffer length, as described below, for an otherwise empty replacement.

diff --git a/doc/pcre2.txt b/doc/pcre2.txt index cf83733..3c3d980 100644 --- a/doc/pcre2.txt +++ b/doc/pcre2.txt @@ -185,8 +185,8 @@ REVISION Last updated: 28 April 2021 Copyright (c) 1997-2021 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2API(3) Library Functions Manual PCRE2API(3) @@ -3834,8 +3834,8 @@ REVISION Last updated: 04 November 2020 Copyright (c) 1997-2020 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2BUILD(3) Library Functions Manual PCRE2BUILD(3) @@ -4428,8 +4428,8 @@ REVISION Last updated: 20 March 2020 Copyright (c) 1997-2020 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2CALLOUT(3) Library Functions Manual PCRE2CALLOUT(3) @@ -4858,8 +4858,8 @@ REVISION Last updated: 03 February 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2COMPAT(3) Library Functions Manual PCRE2COMPAT(3) @@ -5071,8 +5071,8 @@ REVISION Last updated: 06 October 2020 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2JIT(3) Library Functions Manual PCRE2JIT(3) @@ -5496,8 +5496,8 @@ REVISION Last updated: 23 May 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2LIMITS(3) Library Functions Manual PCRE2LIMITS(3) @@ -5566,8 +5566,8 @@ REVISION Last updated: 02 February 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2MATCHING(3) Library Functions Manual PCRE2MATCHING(3) @@ -5790,8 +5790,8 @@ REVISION Last updated: 23 May 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2PARTIAL(3) Library Functions Manual PCRE2PARTIAL(3) @@ -6170,8 +6170,8 @@ REVISION Last updated: 04 September 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2PATTERN(3) Library Functions Manual PCRE2PATTERN(3) @@ -9618,8 +9618,8 @@ REVISION Last updated: 06 October 2020 Copyright (c) 1997-2020 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2PERFORM(3) Library Functions Manual PCRE2PERFORM(3) @@ -9853,8 +9853,8 @@ REVISION Last updated: 03 February 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2POSIX(3) Library Functions Manual PCRE2POSIX(3) @@ -10187,8 +10187,8 @@ REVISION Last updated: 26 April 2021 Copyright (c) 1997-2021 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2SAMPLE(3) Library Functions Manual PCRE2SAMPLE(3) @@ -10466,8 +10466,8 @@ REVISION Last updated: 27 June 2018 Copyright (c) 1997-2018 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2SYNTAX(3) Library Functions Manual PCRE2SYNTAX(3) @@ -10982,8 +10982,8 @@ REVISION Last updated: 28 December 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2UNICODE(3) Library Functions Manual PCRE2UNICODE(3) @@ -11417,5 +11417,5 @@ REVISION Last updated: 23 February 2020 Copyright (c) 1997-2020 University of Cambridge. ------------------------------------------------------------------------------ - - + + diff --git a/doc/pcre2posix.3 b/doc/pcre2posix.3 index a470c8f..6cfede7 100644 --- a/doc/pcre2posix.3 +++ b/doc/pcre2posix.3 @@ -49,8 +49,8 @@ Although they were not defined as protypes in \fBpcre2posix.h\fP, releases \fBregcomp()\fP etc. These simply passed their arguments to the PCRE2 functions. These functions were provided for backwards compatibility with earlier versions of PCRE2, which had only POSIX names. However, this has proved -troublesome in situations where a program links with several libraries, some of -which use PCRE2's POSIX interface while others use the real POSIX functions. +troublesome in situations where a program links with several libraries, some of +which use PCRE2's POSIX interface while others use the real POSIX functions. For this reason, the POSIX names have been removed since release 10.37. .P Calling the header file \fBpcre2posix.h\fP avoids any conflict with other POSIX diff --git a/doc/pcre2test.1 b/doc/pcre2test.1 index 7331e2e..627f95a 100644 --- a/doc/pcre2test.1 +++ b/doc/pcre2test.1 @@ -1389,8 +1389,8 @@ called instead of one of the matching functions (or after one call of replacement strings cannot contain commas, because a comma signifies the end of a modifier. This is not thought to be an issue in a test program. .P -Specifying a completely empty replacement string disables this modifier. -However, it is possible to specify an empty replacement by providing a buffer +Specifying a completely empty replacement string disables this modifier. +However, it is possible to specify an empty replacement by providing a buffer length, as described below, for an otherwise empty replacement. .P Unlike subject strings, \fBpcre2test\fP does not process replacement strings diff --git a/src/config.h.generic b/src/config.h.generic index 10f4104..ea54c65 100644 --- a/src/config.h.generic +++ b/src/config.h.generic @@ -85,8 +85,8 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define to 1 if you have the `memmove' function. */ /* #undef HAVE_MEMMOVE */ -/* Define to 1 if you have the header file. */ -/* #undef HAVE_MEMORY_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MINIX_CONFIG_H */ /* Define to 1 if you have the `mkostemp' function. */ /* #undef HAVE_MKOSTEMP */ @@ -109,6 +109,9 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define to 1 if you have the header file. */ /* #undef HAVE_STDINT_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_H */ + /* Define to 1 if you have the header file. */ /* #undef HAVE_STDLIB_H */ @@ -136,6 +139,9 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define to 1 if the compiler supports simple visibility declarations. */ /* #undef HAVE_VISIBILITY */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_WCHAR_H */ + /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ @@ -224,7 +230,7 @@ sure both macros are undefined; an emulation function will then be used. */ #define PACKAGE_NAME "PCRE2" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "PCRE2 10.36" +#define PACKAGE_STRING "PCRE2 10.37-RC1" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "pcre2" @@ -233,7 +239,7 @@ sure both macros are undefined; an emulation function will then be used. */ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "10.36" +#define PACKAGE_VERSION "10.37-RC1" /* 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 @@ -286,7 +292,9 @@ sure both macros are undefined; an emulation function will then be used. */ unless SUPPORT_JIT is also defined. */ /* #undef SLJIT_PROT_EXECUTABLE_ALLOCATOR */ -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ /* #undef STDC_HEADERS */ /* Define to any value to enable support for Just-In-Time compiling. */ @@ -340,35 +348,91 @@ sure both macros are undefined; an emulation function will then be used. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# define _POSIX_PTHREAD_SEMANTICS 1 -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# define _TANDEM_SOURCE 1 +/* Enable general extensions on macOS. */ +#ifndef _DARWIN_C_SOURCE +# define _DARWIN_C_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable X/Open compliant socket functions that do not require linking + with -lxnet on HP-UX 11.11. */ +#ifndef _HPUX_ALT_XOPEN_SOCKET_API +# define _HPUX_ALT_XOPEN_SOCKET_API 1 +#endif +/* Identify the host operating system as Minix. + This macro does not affect the system headers' behavior. + A future release of Autoconf may stop defining this macro. */ +#ifndef _MINIX +/* # undef _MINIX */ +#endif +/* Enable general extensions on NetBSD. + Enable NetBSD compatibility extensions on Minix. */ +#ifndef _NETBSD_SOURCE +# define _NETBSD_SOURCE 1 +#endif +/* Enable OpenBSD compatibility extensions on NetBSD. + Oddly enough, this does nothing on OpenBSD. */ +#ifndef _OPENBSD_SOURCE +# define _OPENBSD_SOURCE 1 +#endif +/* Define to 1 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_SOURCE +/* # undef _POSIX_SOURCE */ +#endif +/* Define to 2 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_1_SOURCE +/* # undef _POSIX_1_SOURCE */ +#endif +/* Enable POSIX-compatible threading on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ +#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ +# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ +#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ +# define __STDC_WANT_IEC_60559_BFP_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ +#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ +# define __STDC_WANT_IEC_60559_DFP_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ +#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ +# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ +#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ +# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ +#ifndef __STDC_WANT_LIB_EXT2__ +# define __STDC_WANT_LIB_EXT2__ 1 +#endif +/* Enable extensions specified by ISO/IEC 24747:2009. */ +#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ +# define __STDC_WANT_MATH_SPEC_FUNCS__ 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable X/Open extensions. Define to 500 only if necessary + to make mbstate_t available. */ +#ifndef _XOPEN_SOURCE +/* # undef _XOPEN_SOURCE */ +#endif /* Version number of package */ -#define VERSION "10.36" - -/* Define to 1 if on MINIX. */ -/* #undef _MINIX */ - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -/* #undef _POSIX_SOURCE */ +#define VERSION "10.37-RC1" /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ diff --git a/src/config.h.in b/src/config.h.in index b34b083..e7ab064 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -347,6 +347,11 @@ sure both macros are undefined; an emulation function will then be used. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif +/* Enable X/Open compliant socket functions that do not require linking + with -lxnet on HP-UX 11.11. */ +#ifndef _HPUX_ALT_XOPEN_SOCKET_API +# undef _HPUX_ALT_XOPEN_SOCKET_API +#endif /* Identify the host operating system as Minix. This macro does not affect the system headers' behavior. A future release of Autoconf may stop defining this macro. */ diff --git a/src/pcre2.h.generic b/src/pcre2.h.generic index f204ec8..2f6e775 100644 --- a/src/pcre2.h.generic +++ b/src/pcre2.h.generic @@ -42,9 +42,9 @@ POSSIBILITY OF SUCH DAMAGE. /* The current PCRE version information. */ #define PCRE2_MAJOR 10 -#define PCRE2_MINOR 36 -#define PCRE2_PRERELEASE -#define PCRE2_DATE 2020-12-04 +#define PCRE2_MINOR 37 +#define PCRE2_PRERELEASE -RC1 +#define PCRE2_DATE 2021-04-28 /* When an application links to a PCRE DLL in Windows, the symbols that are imported have to be identified as such. When building PCRE2, the appropriate diff --git a/src/pcre2_auto_possess.c b/src/pcre2_auto_possess.c index 66064ed..e5e0895 100644 --- a/src/pcre2_auto_possess.c +++ b/src/pcre2_auto_possess.c @@ -1188,10 +1188,10 @@ for (;;) if (c >= OP_CRSTAR && c <= OP_CRMINRANGE) { /* The return from get_chr_property_list() will never be NULL when - *code (aka c) is one of the three class opcodes. However, gcc with - -fanalyzer notes that a NULL return is possible, and grumbles. Hence we - put in a check. */ - + *code (aka c) is one of the three class opcodes. However, gcc with + -fanalyzer notes that a NULL return is possible, and grumbles. Hence we + put in a check. */ + end = get_chr_property_list(code, utf, ucp, cb->fcc, list); list[1] = (c & 1) == 0; diff --git a/src/pcre2_compile.c b/src/pcre2_compile.c index 4bd5be0..da449ae 100644 --- a/src/pcre2_compile.c +++ b/src/pcre2_compile.c @@ -1419,7 +1419,7 @@ for (p = *ptrptr;; p++) if (had_comma) return FALSE; had_comma = TRUE; } - else return FALSE; + else return FALSE; } /* The only error from read_number() is for a number that is too big. */ diff --git a/src/pcre2_match.c b/src/pcre2_match.c index 7d9cad0..ed60517 100644 --- a/src/pcre2_match.c +++ b/src/pcre2_match.c @@ -823,7 +823,7 @@ fprintf(stderr, "++ op=%d\n", *Fecode); P->eptr = Feptr; P->mark = Fmark; - P->start_match = Fstart_match; + P->start_match = Fstart_match; F = P; Fecode += 1 + LINK_SIZE; continue; diff --git a/src/pcre2posix.c b/src/pcre2posix.c index 32c80c3..486bcce 100644 --- a/src/pcre2posix.c +++ b/src/pcre2posix.c @@ -178,13 +178,13 @@ static const char *const pstring[] = { #if 0 /* REMOVE THIS CODE */ The code below was created for 10.33 (see ChangeLog 10.33 #4) when the -POSIX functions were given pcre2_... names instead of the traditional POSIX +POSIX functions were given pcre2_... names instead of the traditional POSIX names. However, it has proved to be more troublesome than useful. There have been at least two cases where a program links with two others, one of which uses the POSIX library and the other uses the PCRE2 POSIX functions, thus causing two instances of the POSIX runctions to exist, leading to trouble. For 10.37 this code is commented out. In due course it can be removed if there are -no issues. The only small worry is the comment below about languages that do +no issues. The only small worry is the comment below about languages that do not include pcre2posix.h. If there are any such cases, they will have to use the PCRE2 names.