Commit Graph

208 Commits

Author SHA1 Message Date
6579375f35 Remove outdated C++03 code. 2024-03-23 17:45:04 +00:00
ae34d3cfc5 Rework format string protection to be non-throwing.
Remove old test case, fix up tests to disable testing the new issues on the recursive implementation which will be going soon anyway.
2024-03-17 16:12:14 +00:00
b86985e65a Set a limit on max recursions.
Applies to last remaining recursive calls in regex creation, and format string parsing.
Added tests, and updated CI.
2024-03-16 19:06:10 +00:00
39e5c86f44 Remove ICU standalone testing for now: it passes locally but not on the remote machine. 2022-12-13 11:34:28 +00:00
1a750a42d1 Correct CI script, correct ICU testing config. 2022-12-10 11:44:19 +00:00
3e4bcb75b6 Add testing of standalone mode.
Allow tests to be built in standalone mode.
Update CI.
Update docs.
2022-12-09 18:24:24 +00:00
76e7a4218e Fix for building with BOOST_REGEX_MAX_CACHE_BLOCKS=0.
Also fix some msvc warnings in test_sets.cpp.
Add test case.
Fixes the issues in https://github.com/boostorg/regex/pull/171
2022-03-07 16:32:43 +00:00
354e02f141 Correct stack unwinding inside recursions when seeing (*SKIP).
Fixes https://github.com/boostorg/regex/issues/152.
2021-10-20 12:12:57 +01:00
b10c089aba Disallow repeating a case-change group.
Turn assertion into an error.
Fixes: https://github.com/boostorg/regex/issues/151
2021-10-13 17:59:56 +01:00
1e524968bb Fix missing #include, fix test cases. 2021-10-09 16:43:53 +01:00
74347b95af Allow back references to refer to a capture that hasn't happened yet ("forward reference").
Fixes https://github.com/boostorg/regex/issues/133.
2021-10-08 14:51:01 +01:00
10cff29314 Change \B to be the opposite of \b.
Also update docs.
Fixes https://github.com/boostorg/regex/issues/123.
2021-10-07 18:52:27 +01:00
d312a085b1 Fix infinite loop in parser.
Fixes: https://github.com/boostorg/regex/issues/140.
2021-06-26 13:52:23 +01:00
b42ec73c4d Add missing file. 2020-12-14 09:04:04 +00:00
c24967709d Reinstate many workarounds to get older msvc versions compiling. 2020-12-13 18:03:47 +00:00
dba05b4d5b Remove more old code and enable standalone mode. 2020-12-10 16:47:08 +00:00
957dc5b79c Remove a lot of boost dependencies and workarounds. 2020-12-01 18:57:42 +00:00
27d2853615 Make c_regex_traits all inline.
Fix some C++20 issues.
2020-11-26 20:05:38 +00:00
1bb29f2134 Remove external template instantiation. 2020-11-26 17:00:04 +00:00
9eabbbedcf Fixed typos (mainly in comments) 2020-10-01 16:07:35 +02:00
cc09733d03 Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-31 17:42:38 -04:00
afc4229234 Fix recursive expressions where the recursion appears more than once.
Fixes https://github.com/boostorg/regex/issues/87.
Also fix some more msvc warnings.
2020-01-23 19:24:33 +00:00
bc160a58f0 Merge branch 'develop' into git_issue_80
Fixed Conflicts:
	include/boost/regex/v4/basic_regex_creator.hpp
	include/boost/regex/v4/basic_regex_parser.hpp
2020-01-21 12:57:09 +00:00
2cd947f7c4 Suppress msvc warnings.
Fixes: https://github.com/boostorg/regex/issues/80
2020-01-20 19:51:46 +00:00
4bb4d392e4 Remove limit on the number of backrefs possible.
Changes named sub-expressions to use different hashing scheme: high order bit is now always set to clashes between hashes and indexes don't happen until 2^30 or 2^62 sub-expressions in 32 and 64 bit code respectively.
Changes bitmask of seen sub-expressions to use dynamic storage for sub-expression indexes above 64.
Adds tests for the above.
Fixes https://github.com/boostorg/regex/issues/75.
2020-01-19 11:28:36 +00:00
2517588955 Fix \R when no_escapes_in_list flag is set.
Fixes: https://github.com/boostorg/regex/issues/57
2018-07-22 11:26:33 +01:00
231dbc3ebf Correct behaviour of \b when matching null-strings.
See https://github.com/boostorg/regex/issues/40
2018-07-21 15:19:41 +01:00
35fbb2e5e2 Disable some std::locale tests with VC15.7 as they (incorrectly) assert in the C runtime. 2018-07-17 19:36:03 +01:00
cc5a4e85ae Inheriting std::iterator is deprecated in c++17.
Therefore replace the inheritance by lifting std::iterator's members into the derived class. Fortunately, this is already done in Boost.Regex so that dropping the inheritance is a no-brainer.

Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-12-22 15:59:49 +01:00
e94f079215 Regex: fix locale specific tests so they do all pass now! 2017-11-09 11:31:48 +00:00
f949e55e9c Regex: Add better tests for skipping of comments in expressions. 2017-10-26 18:04:41 +01:00
50453e319a Regex: Repeating a repeat is not allowed, even if there is a comment block in between the two.
Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3479#c2
2017-10-24 17:56:02 +01:00
f343cab680 Regex: Fix handling of repeats when mod_x is in effect.
See https://oss-fuzz.com/v2/testcase-detail/6420486177161216?noredirect=1
2017-10-08 11:52:54 +01:00
09894a5e21 Fix escapes in test case. 2017-08-04 09:08:12 +01:00
a32e0cc9d3 Fix pattern escaping in regex used for \R so it works when the x-modifier is in effect.
Fixes: https://svn.boost.org/trac10/ticket/12960
2017-08-03 18:04:41 +01:00
5c543a8e2b Copy named sub-expression info when adapting ICU via iterators.
Fixes: https://svn.boost.org/trac10/ticket/13126.
2017-08-01 19:43:44 +01:00
d1789c75da de-fuzz: generate first corpus files. 2017-02-21 18:00:08 +00:00
edd94320c7 de-fuzz: prevent infinite recursion in recursive expressions (case 14). 2017-02-15 19:44:41 +00:00
7719dedbaf Fix buffer over-run error when parsing invalid regex.
See: https://svn.boost.org/trac/boost/ticket/12222.
2016-06-09 19:00:29 +01:00
9059bfb5c6 Fix case-sensitivity change behaviour.
See https://svn.boost.org/trac/boost/ticket/11205.
Update docs to match.
2016-03-14 19:22:18 +00:00
6b36c9a7c6 Fix valgrind detected issues 2015-10-23 13:07:04 +01:00
afca81cd76 disambiguate "extended" 2015-10-22 18:02:43 +01:00
b4541fa88e Qualify some ambiguous names. 2015-10-22 13:33:25 +01:00
09e789b4c6 Remove all uses of Boost.Test. 2015-10-08 10:06:34 +01:00
201d3a424e Add recursive implementation of THEN. 2015-10-05 18:27:37 +01:00
7a4e883675 Get THEN working for non-recursive implementation.
Fix various bugs in the other verbs exposed by new tests.
2015-10-04 19:28:25 +01:00
9a36e035f2 Add support for PRUNE and SKIP (no MARK's though). 2015-10-01 18:34:59 +01:00
83140ddbed Fix up recursive implementation of ACCEPT and COMMIT. 2015-09-30 18:47:59 +01:00
b208ef4eed Get commit working in recursive mode. 2015-09-29 19:20:09 +01:00
c281c9cc40 Add COMMIT support plus lots of tests. 2015-09-29 17:40:43 +01:00