Compare commits

...

110 Commits

Author SHA1 Message Date
Beman Dawes 472becf43b Release 1.48.0 beta 1
[SVN r75132]
2011-10-27 15:04:52 +00:00
John Maddock 115a8fe837 Document release history.
[SVN r74978]
2011-10-16 16:51:56 +00:00
John Maddock fe16f3f039 Merge accumulated minor fixes from Trunk.
[SVN r74964]
2011-10-16 12:19:37 +00:00
John Maddock 5a0f62f00c Merge minor fixes, plus updates to Unicode iterators to make them safe in the face of invalid input.
[SVN r74014]
2011-08-23 08:47:38 +00:00
John Maddock 490b3a6547 Merge ICU testing fixes from Trunk.
Authorized by Daniel James.

[SVN r72846]
2011-07-02 08:59:55 +00:00
John Maddock bad2122f48 Merge documentation update for Boost.Regex.
[SVN r72016]
2011-05-17 11:00:38 +00:00
John Maddock 713264371b Merge minor fix, plus history update to docs from Trunk.
[SVN r71499]
2011-04-26 09:37:16 +00:00
John Maddock afbb54c73b Merge minor fixes from Trunk.
[SVN r71483]
2011-04-25 17:13:42 +00:00
John Maddock b267c55bc5 Update version number, fixes #5353.
[SVN r71477]
2011-04-25 09:33:51 +00:00
John Maddock 813e5f77e3 Merge minor regex lib fixes from Trunk.
[SVN r69625]
2011-03-07 13:23:36 +00:00
John Maddock c499c62caa Update makefiles.
[SVN r67718]
2011-01-06 12:49:58 +00:00
John Maddock ec3dbbf5d6 Change PDF URL to SF download page.
Merge 64-bit ICU Jamfile patch.

[SVN r67531]
2011-01-01 13:08:10 +00:00
John Maddock 7170423870 Merge fixes from Trunk.
Fixes #4721.

[SVN r66116]
2010-10-20 12:11:18 +00:00
John Maddock cfedb49110 Merge fixes from Trunk - mainly warning suppression.
[SVN r65720]
2010-10-02 11:34:33 +00:00
John Maddock 09c9e93572 Fix typo and regenerate docs.
[SVN r64216]
2010-07-21 10:37:35 +00:00
John Maddock ac2017ebc7 Update docs to match all the fixes applied to 1.44.
[SVN r64067]
2010-07-16 09:45:45 +00:00
Daniel James 4741ee7d94 Merge more rebuilt documentation.
[SVN r63771]
2010-07-08 23:13:28 +00:00
Daniel James 5fe36e6e56 Merge documentation fixes.
* Use `doc/src/*.css` instead of `doc/html/*.css`.
* Remove wiki and people directories.
* Some documentation fixes.
* Left out `minimal.css` changes and boostbook changes because of clashes.


[SVN r63347]
2010-06-26 12:30:09 +00:00
John Maddock 9529cb8bc0 Merged accumulated patches from Trunk.
[SVN r62831]
2010-06-12 08:30:11 +00:00
John Maddock 61f4b3360f Update version number in build scripts.
[SVN r61614]
2010-04-27 12:22:46 +00:00
John Maddock fc6408426d Merge changes in Trunk:
Simplify regex_timer to eliminate regression failure.
  Rename extern "C" function to have a "boost_" prefix.
  Fix recursive-expression related bug, and update tests to match.

[SVN r58885]
2010-01-11 09:55:40 +00:00
John Maddock e41acbc33f Merge recursive expressions performance update from Trunk.
Merge Makefile update from Trunk.
Merge history update.

[SVN r58542]
2009-12-28 13:07:04 +00:00
John Maddock ae79f29895 Merge bug fixes from Trunk - see history for full details.
[SVN r58234]
2009-12-08 12:42:33 +00:00
John Maddock 95ddff1f01 Suppress gcc-4.4.1 warnings.
[SVN r57366]
2009-11-04 17:22:59 +00:00
Troy D. Straszheim d8c6fe7ce8 rm cmake from the release branch before it goes out broken. Policy dictates that you never commit to release, you commit to trunk and merge to release.
[SVN r56941]
2009-10-17 01:10:45 +00:00
Vladimir Prus 438dcae4e4 Merge: Don't add leading slash to every path.
[SVN r55732]
2009-08-23 15:53:38 +00:00
Vladimir Prus 7f89732479 Merge: Force shared runtime if using ICU.
[SVN r55699]
2009-08-21 16:55:51 +00:00
John Maddock a3b2f4031d Merge updates from Trunk.
Fixes #2713.

[SVN r55383]
2009-08-03 12:00:07 +00:00
John Maddock 513a205564 Update version number.
[SVN r55269]
2009-07-29 17:21:36 +00:00
Troy D. Straszheim 01eadc4ab6 Add basic copyright/license to keep cmake out of the inspection report
[SVN r55095]
2009-07-22 21:51:01 +00:00
Douglas Gregor be62e08702 Regex depends on Thread
[SVN r52816]
2009-05-07 04:37:40 +00:00
Vladimir Prus 3b8aca5d8b Merge from trunk
[SVN r52379]
2009-04-14 08:33:45 +00:00
David Deakins 8f15600081 Windows CE does not define the wcscoll function from the CRT so, for WinCE, don't try to pull wcscoll from the global namespace into the std namespace.
[SVN r52222]
2009-04-06 21:37:24 +00:00
John Maddock 3e903e9c8e Merge PDF build changes from Trunk.
[SVN r51417]
2009-02-23 18:39:32 +00:00
Troy D. Straszheim 083ea3a6c7 merge of cmake build files from trunk per beman
[SVN r50756]
2009-01-24 18:57:20 +00:00
John Maddock 2d43c1b305 Merge FreeBSD patch.
[SVN r50532]
2009-01-10 12:01:09 +00:00
John Maddock e81f710567 Merge changes in Trunk.
[SVN r50499]
2009-01-07 13:19:32 +00:00
John Maddock 3b3a3ce6d1 Merged updated docs with some typo fixes, also adding missing makefile.
[SVN r49460]
2008-10-27 13:52:23 +00:00
John Maddock 5e4ccdf0cf Fix version names in makefiles.
[SVN r49360]
2008-10-16 12:59:28 +00:00
Vladimir Prus 371ad14a3f Merge from trunk
[SVN r49356]
2008-10-16 09:01:02 +00:00
John Maddock 9219aa0b5b Merge inspection report fixes from Trunk: remove tabs.
[SVN r49285]
2008-10-11 16:18:15 +00:00
John Maddock 5471176846 Merge changes from Trunk ready for 1.37.
[SVN r48796]
2008-09-16 11:54:24 +00:00
John Maddock 756a875620 Merge doc fixes from trunk.
[SVN r47798]
2008-07-25 09:58:49 +00:00
John Maddock b7d906dff5 Fixes #2097.
[SVN r47320]
2008-07-11 18:00:41 +00:00
John Maddock a08e8b5c85 Merge changes from Trunk.
[SVN r47307]
2008-07-11 11:49:03 +00:00
Daniel James 9546df1f23 Rebuild a lot of documentation.
[SVN r43650]
2008-03-16 11:38:32 +00:00
John Maddock b39edff796 Added missing files.
[SVN r43631]
2008-03-15 18:18:41 +00:00
John Maddock 788c8a8470 Merged doc fixes from Trunk.
[SVN r43352]
2008-02-21 13:23:29 +00:00
John Maddock c527b20062 Merge fix fix for inspect issue.
[SVN r43149]
2008-02-07 10:27:23 +00:00
John Maddock a65bccab1c Merge TR1 patches for VC9 + MS TR1 implementation from main Trunk.
[SVN r42761]
2008-01-14 13:47:39 +00:00
John Maddock 8fffb1250e Fix doc typos.
[SVN r42748]
2008-01-14 10:06:29 +00:00
John Maddock 069e845239 Merge bug fixes from main Trunk: these fix security issues reported by Will Drewry.
[SVN r42746]
2008-01-14 09:53:42 +00:00
John Maddock 79d7e84f26 Merged typo fixes from trunk.
[SVN r42026]
2007-12-14 10:16:35 +00:00
John Maddock 45891854d9 Merged fixes for #1471 (warning suppression).
[SVN r41974]
2007-12-11 17:29:58 +00:00
John Maddock a159bacf3f Merge fixes for #1455.
[SVN r41972]
2007-12-11 17:26:26 +00:00
John Maddock 97daf0f81f Bring into synch with Trunk, and fix regression.
[SVN r41895]
2007-12-08 17:37:40 +00:00
Beman Dawes dc01b7833e Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41370]
2007-11-25 18:38:02 +00:00
Beman Dawes ff95eb8d98 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41369]
2007-11-25 18:07:19 +00:00
Rene Rivera c48d7bb478 Recreate release branch from fixed 1.34.1 tag.
[SVN r40341]
2007-10-23 06:42:50 +00:00
Douglas Gregor 3cd2b52030 Move Attic files back into their rightful places
[SVN r40311]
2007-10-23 01:47:48 +00:00
Beman Dawes f5af9ba18d Starting point for releases
[SVN r39706]
2007-10-05 14:25:06 +00:00
nobody 3e68fcb703 This commit was manufactured by cvs2svn to create tag
'Version_1_34_1'.

[SVN r38286]
2007-07-24 19:28:14 +00:00
Thomas Witt 1fe19b815a Ticket #583.
[SVN r37901]
2007-06-05 17:28:18 +00:00
John Maddock d44bf8c41d Improve ICU support. See http://svn.boost.org/trac/boost/ticket/976
[SVN r37741]
2007-05-22 17:24:25 +00:00
John Maddock 5b9e134fc4 Added links to PDF docs.
[SVN r37653]
2007-05-09 17:20:56 +00:00
John Maddock 2643fcb245 Ooops, fix version check.
[SVN r37115]
2007-02-28 17:18:33 +00:00
John Maddock 7ac90de75a Oops, get the namespace right.
[SVN r37111]
2007-02-28 10:08:29 +00:00
John Maddock 2ebe6d4ec7 Patches for HP aCC and Compaq tru64
[SVN r37106]
2007-02-27 10:13:14 +00:00
John Maddock b93dc9c301 Change asserts to tests.
[SVN r37080]
2007-02-26 09:46:39 +00:00
John Maddock 1b0ab17df9 Reduce thread load so test completes faster.
[SVN r37061]
2007-02-25 10:37:25 +00:00
John Maddock 07016623eb Fixed if...else logic and added cygwin to the list of compilers that need to be statically linked.
[SVN r36984]
2007-02-17 12:22:49 +00:00
John Maddock 4c56f3c14e Only static linking works with mingw
[SVN r36888]
2007-02-04 10:20:33 +00:00
John Maddock 95e3612e72 Fix workaround version.
[SVN r36732]
2007-01-15 11:09:44 +00:00
John Maddock fdf8aa83ec Update bbv2 instructions.
Update Jamfile with better ICU support.


[SVN r36691]
2007-01-11 17:22:38 +00:00
John Maddock c1722ff3de Disable typeid useage with VC6.
[SVN r36592]
2007-01-05 13:25:04 +00:00
John Maddock 77e43136d1 bbv2 updates.
[SVN r36551]
2006-12-31 17:26:12 +00:00
nobody f5449c38a6 This commit was manufactured by cvs2svn to create branch 'RC_1_34_0'.
[SVN r36550]
2006-12-31 17:25:40 +00:00
John Maddock 5654efcf98 Fix for grep and egrep syntax types, plus tests.
[SVN r36470]
2006-12-20 17:19:25 +00:00
John Maddock 8d5985ce42 Typo fix
[SVN r36465]
2006-12-20 09:45:03 +00:00
John Maddock bb8f057d6c Fix for msvc-6 in multithreaded test mode.
[SVN r36344]
2006-12-12 09:57:35 +00:00
Rene Rivera 9002d01f75 Remove obsolete Boost.Build v1 files.
[SVN r35880]
2006-11-06 17:10:46 +00:00
John Maddock b057d0f943 Update heuristics used to determine max state count, following a bug report from SAP.
Updated tests to match.


[SVN r35656]
2006-10-18 12:56:45 +00:00
John Maddock 67128fa65f Remove and update aCC/HPUX fixes.
Fix regex bug report: some repeats match when they should not.
Added test case.


[SVN r35262]
2006-09-21 18:30:27 +00:00
John Maddock 9fc486658f Updated aCC config.
Removed aCC workarounds that are no longer needed.


[SVN r34938]
2006-08-24 11:00:19 +00:00
John Maddock f4d849ec8f Trivial fix: macro not correctly bracketed.
[SVN r34878]
2006-08-12 17:51:24 +00:00
John Maddock db4120e46d Fixed const-correctness bugs.
[SVN r34785]
2006-07-30 16:14:16 +00:00
John Maddock c4d064add8 Added additional thread safety tests.
[SVN r34775]
2006-07-29 16:02:56 +00:00
John Maddock 65347f0f7f Improved const correctness, fixed thread safety bug.
[SVN r34774]
2006-07-29 16:01:48 +00:00
John Maddock d3b885e20b Disable new test for VC6.
[SVN r34744]
2006-07-26 17:00:36 +00:00
John Maddock 60b6dbf275 Test case for bug report 1526472.
[SVN r34682]
2006-07-23 17:32:03 +00:00
John Maddock 443a498845 Fairly trivial patch for bug report 1526472.
[SVN r34680]
2006-07-23 17:30:49 +00:00
Gennaro Prota 7a3a6dc7c6 manual merge from trunk: minor code fixes; fixed typos reported in http://bugs.debian.org/378016
[SVN r34636]
2006-07-20 13:54:08 +00:00
Gennaro Prota 37b39f6635 manual merge from trunk: fixed license reference text; added final slash to boost url; fixed typos reported in http://bugs.debian.org/378016
[SVN r34634]
2006-07-20 13:44:08 +00:00
John Maddock b473011375 Added needed license info.
[SVN r34563]
2006-07-16 17:24:25 +00:00
John Maddock 0a998e8bc8 stripped tabs from file.
[SVN r34560]
2006-07-16 16:06:38 +00:00
John Maddock eb93be73eb Bug fix.
[SVN r34495]
2006-07-10 09:46:27 +00:00
John Maddock eb791cd1c3 Non-greedy repeat tests from https://sourceforge.net/tracker/index.php?func=detail&aid=1515830&group_id=7586&atid=107586
[SVN r34494]
2006-07-10 09:41:12 +00:00
John Maddock 5928770c46 Fix for non-greedy repeats see https://sourceforge.net/tracker/index.php?func=detail&aid=1515830&group_id=7586&atid=107586
[SVN r34493]
2006-07-10 09:40:35 +00:00
John Maddock 2d6fea3308 Allow match_results::position() to return a valid value for partial matches.
[SVN r34324]
2006-06-17 12:48:03 +00:00
John Maddock b58521163b Changed test names to prevent directory/test name conflict.
[SVN r34221]
2006-06-07 16:38:23 +00:00
John Maddock 921b0d758e Don't apply fix to VC7.
[SVN r34060]
2006-05-22 17:50:33 +00:00
John Maddock dae6cbfead Added extra tests for non-greedy repeats to verify bug fix.
Updated history.


[SVN r34031]
2006-05-19 13:17:00 +00:00
John Maddock 17a038b672 Fix for partial matches and non-greedy repeats.
[SVN r34030]
2006-05-19 13:16:09 +00:00
John Maddock ccc52a8a63 Fix for duplicate symbol errors when using VC7.1 without /Zc:wchar_t
[SVN r33706]
2006-04-15 17:21:19 +00:00
John Maddock 01cc2aaa50 Fixed silly bug in example.
[SVN r33609]
2006-04-09 10:07:08 +00:00
John Maddock 4370fe4607 Added no_except docs.
[SVN r33585]
2006-04-07 10:21:19 +00:00
John Maddock 171749f440 Added guards for managed code and __fastcall
[SVN r33557]
2006-04-05 12:22:36 +00:00
John Maddock c1c2058d3d Suppress gcc -Wshadow warnings.
[SVN r33425]
2006-03-21 18:35:17 +00:00
John Maddock 1a732d8c6a Updated makefiles to 1.34
[SVN r33424]
2006-03-21 18:30:27 +00:00
nobody f0ae398ada This commit was manufactured by cvs2svn to create branch 'RC_1_34_0'.
[SVN r33417]
2006-03-21 02:26:31 +00:00
18 changed files with 156 additions and 74 deletions
+7
View File
@@ -15,6 +15,13 @@ Currently open issues can be viewed [@https://svn.boost.org/trac/boost/query?sta
All issues including closed ones can be viewed [@https://svn.boost.org/trac/boost/query?status=assigned&status=closed&status=new&status=reopened&component=regex&order=priority&col=id&col=summary&col=status&col=type&col=milestone&col=component here].
[h4 Boost-1.48]
Fixed issues:
[@https://svn.boost.org/trac/boost/ticket/688 #698], [@https://svn.boost.org/trac/boost/ticket/5835 #5835],
[@https://svn.boost.org/trac/boost/ticket/5958 #5958], [@https://svn.boost.org/trac/boost/ticket/5736 #5736].
[h4 Boost 1.47]
Fixed issues:
@@ -35,6 +35,16 @@
<p>
All issues including closed ones can be viewed <a href="https://svn.boost.org/trac/boost/query?status=assigned&amp;status=closed&amp;status=new&amp;status=reopened&amp;component=regex&amp;order=priority&amp;col=id&amp;col=summary&amp;col=status&amp;col=type&amp;col=milestone&amp;col=component" target="_top">here</a>.
</p>
<a name="boost_regex.background_information.history.boost_1_48"></a><h5>
<a name="boost_regex.background_information.history.boost_1_48-heading"></a>
<a class="link" href="history.html#boost_regex.background_information.history.boost_1_48">Boost-1.48</a>
</h5>
<p>
Fixed issues: <a href="https://svn.boost.org/trac/boost/ticket/688" target="_top">#698</a>,
<a href="https://svn.boost.org/trac/boost/ticket/5835" target="_top">#5835</a>,
<a href="https://svn.boost.org/trac/boost/ticket/5958" target="_top">#5958</a>,
<a href="https://svn.boost.org/trac/boost/ticket/5736" target="_top">#5736</a>.
</p>
<a name="boost_regex.background_information.history.boost_1_47"></a><h5>
<a name="boost_regex.background_information.history.boost_1_47-heading"></a>
<a class="link" href="history.html#boost_regex.background_information.history.boost_1_47">Boost
+7 -7
View File
@@ -325,7 +325,7 @@
<code class="computeroutput"><span class="identifier">basic_regex</span></code>.
</p>
<div class="table">
<a name="id1071160"></a><p class="title"><b>Table&#160;1.&#160;basic_regex default construction postconditions</b></p>
<a name="id1070109"></a><p class="title"><b>Table&#160;1.&#160;basic_regex default construction postconditions</b></p>
<div class="table-contents"><table class="table" summary="basic_regex default construction postconditions">
<colgroup>
<col>
@@ -403,7 +403,7 @@
flags</a> specified in <span class="emphasis"><em>f</em></span>.
</p>
<div class="table">
<a name="id1071458"></a><p class="title"><b>Table&#160;2.&#160;Postconditions for basic_regex construction</b></p>
<a name="id1070408"></a><p class="title"><b>Table&#160;2.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup>
<col>
@@ -506,7 +506,7 @@
specified in <span class="emphasis"><em>f</em></span>.
</p>
<div class="table">
<a name="id1071875"></a><p class="title"><b>Table&#160;3.&#160;Postconditions for basic_regex construction</b></p>
<a name="id1070825"></a><p class="title"><b>Table&#160;3.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup>
<col>
@@ -608,7 +608,7 @@
according the option flags specified in <span class="emphasis"><em>f</em></span>.
</p>
<div class="table">
<a name="id1072283"></a><p class="title"><b>Table&#160;4.&#160;Postconditions for basic_regex construction</b></p>
<a name="id1071233"></a><p class="title"><b>Table&#160;4.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup>
<col>
@@ -716,7 +716,7 @@
flags</a> specified in <span class="emphasis"><em>f</em></span>.
</p>
<div class="table">
<a name="id1072760"></a><p class="title"><b>Table&#160;5.&#160;Postconditions for basic_regex construction</b></p>
<a name="id1071710"></a><p class="title"><b>Table&#160;5.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup>
<col>
@@ -816,7 +816,7 @@
flags</a> specified in <span class="emphasis"><em>f</em></span>.
</p>
<div class="table">
<a name="id1073122"></a><p class="title"><b>Table&#160;6.&#160;Postconditions for basic_regex construction</b></p>
<a name="id1072072"></a><p class="title"><b>Table&#160;6.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup>
<col>
@@ -1002,7 +1002,7 @@
in <span class="emphasis"><em>f</em></span>.
</p>
<div class="table">
<a name="id1075141"></a><p class="title"><b>Table&#160;7.&#160;Postconditions for basic_regex::assign</b></p>
<a name="id1074091"></a><p class="title"><b>Table&#160;7.&#160;Postconditions for basic_regex::assign</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex::assign">
<colgroup>
<col>
+2 -2
View File
@@ -28,7 +28,7 @@
</h3></div></div></div>
<div><p class="copyright">Copyright &#169; 1998-2010 John Maddock</p></div>
<div><div class="legalnotice">
<a name="id1028452"></a><p>
<a name="id1026993"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
@@ -198,7 +198,7 @@
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: July 21, 2011 at 09:38:30 GMT</small></p></td>
<td align="left"><p><small>Last revised: October 16, 2011 at 12:24:31 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
+8 -8
View File
@@ -251,7 +251,7 @@ inline u32regex do_make_u32regex(InputIterator i,
const boost::mpl::int_<1>*)
{
typedef boost::u8_to_u32_iterator<InputIterator, UChar32> conv_type;
return u32regex(conv_type(i), conv_type(j), opt);
return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt);
}
template <class InputIterator>
@@ -261,7 +261,7 @@ inline u32regex do_make_u32regex(InputIterator i,
const boost::mpl::int_<2>*)
{
typedef boost::u16_to_u32_iterator<InputIterator, UChar32> conv_type;
return u32regex(conv_type(i), conv_type(j), opt);
return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt);
}
template <class InputIterator>
@@ -282,7 +282,7 @@ inline u32regex do_make_u32regex(InputIterator i,
typedef boost::u8_to_u32_iterator<InputIterator, UChar32> conv_type;
typedef std::vector<UChar32> vector_type;
vector_type v;
conv_type a(i), b(j);
conv_type a(i, i, j), b(j, i, j);
while(a != b)
{
v.push_back(*a);
@@ -302,7 +302,7 @@ inline u32regex do_make_u32regex(InputIterator i,
typedef boost::u16_to_u32_iterator<InputIterator, UChar32> conv_type;
typedef std::vector<UChar32> vector_type;
vector_type v;
conv_type a(i), b(j);
conv_type a(i, i, j), b(j, i, j);
while(a != b)
{
v.push_back(*a);
@@ -425,7 +425,7 @@ bool do_regex_match(BidiIterator first, BidiIterator last,
typedef match_results<conv_type> match_type;
typedef typename match_type::allocator_type alloc_type;
match_type what;
bool result = ::boost::regex_match(conv_type(first), conv_type(last), what, e, flags);
bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags);
// copy results across to m:
if(result) copy_results(m, what);
return result;
@@ -441,7 +441,7 @@ bool do_regex_match(BidiIterator first, BidiIterator last,
typedef match_results<conv_type> match_type;
typedef typename match_type::allocator_type alloc_type;
match_type what;
bool result = ::boost::regex_match(conv_type(first), conv_type(last), what, e, flags);
bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags);
// copy results across to m:
if(result) copy_results(m, what);
return result;
@@ -600,7 +600,7 @@ bool do_regex_search(BidiIterator first, BidiIterator last,
typedef match_results<conv_type> match_type;
typedef typename match_type::allocator_type alloc_type;
match_type what;
bool result = ::boost::regex_search(conv_type(first), conv_type(last), what, e, flags, conv_type(base));
bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base));
// copy results across to m:
if(result) copy_results(m, what);
return result;
@@ -617,7 +617,7 @@ bool do_regex_search(BidiIterator first, BidiIterator last,
typedef match_results<conv_type> match_type;
typedef typename match_type::allocator_type alloc_type;
match_type what;
bool result = ::boost::regex_search(conv_type(first), conv_type(last), what, e, flags, conv_type(base));
bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base));
// copy results across to m:
if(result) copy_results(m, what);
return result;
@@ -1226,7 +1226,7 @@ void basic_regex_creator<charT, traits>::create_startmap(re_syntax_base* state,
for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i)
{
charT c = static_cast<charT>(i);
if(&c != re_is_set_member(&c, &c + 1, static_cast<re_set_long<mask_type>*>(state), *m_pdata, m_icase))
if(&c != re_is_set_member(&c, &c + 1, static_cast<re_set_long<mask_type>*>(state), *m_pdata, l_icase))
l_map[i] |= mask;
}
}
+9 -1
View File
@@ -842,7 +842,15 @@ OutputIterator regex_format_imp(OutputIterator out,
BOOST_MPL_HAS_XXX_TRAIT_DEF(const_iterator)
struct any_type { any_type(...); };
struct any_type
{
template <class T>
any_type(const T&);
template <class T, class U>
any_type(const T&, const U&);
template <class T, class U, class V>
any_type(const T&, const U&, const V&);
};
typedef char no_type;
typedef char (&unary_type)[2];
typedef char (&binary_type)[3];
+1 -20
View File
@@ -21,6 +21,7 @@
#include <boost/config.hpp>
#include <boost/detail/workaround.hpp>
#include "internals.hpp"
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560)
@@ -107,26 +108,6 @@ c_regex_traits<char>::string_type BOOST_REGEX_CALL c_regex_traits<char>::transfo
return result;
}
enum
{
char_class_space=1<<0,
char_class_print=1<<1,
char_class_cntrl=1<<2,
char_class_upper=1<<3,
char_class_lower=1<<4,
char_class_alpha=1<<5,
char_class_digit=1<<6,
char_class_punct=1<<7,
char_class_xdigit=1<<8,
char_class_alnum=char_class_alpha|char_class_digit,
char_class_graph=char_class_alnum|char_class_punct,
char_class_blank=1<<9,
char_class_word=1<<10,
char_class_unicode=1<<11,
char_class_horizontal=1<<12,
char_class_vertical=1<<13
};
c_regex_traits<char>::char_class_type BOOST_REGEX_CALL c_regex_traits<char>::lookup_classname(const char* p1, const char* p2)
{
static const char_class_type masks[] =
+15 -2
View File
@@ -361,11 +361,24 @@ void BuildFileList(std::list<std::string>* pl, const char* files, bool recurse)
while(dstart != dend)
{
// Verify that sprintf will not overflow:
if(std::strlen(dstart.path()) + std::strlen(directory_iterator::separator()) + std::strlen(ptr) >= MAX_PATH)
{
// Oops overflow, skip this item:
++dstart;
continue;
}
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE)
(::sprintf_s)(buf, sizeof(buf), "%s%s%s", dstart.path(), directory_iterator::separator(), ptr);
int r = (::sprintf_s)(buf, sizeof(buf), "%s%s%s", dstart.path(), directory_iterator::separator(), ptr);
#else
(std::sprintf)(buf, "%s%s%s", dstart.path(), directory_iterator::separator(), ptr);
int r = (std::sprintf)(buf, "%s%s%s", dstart.path(), directory_iterator::separator(), ptr);
#endif
if(r < 0)
{
// sprintf failed, skip this item:
++dstart;
continue;
}
BuildFileList(pl, buf, recurse);
++dstart;
}
+8 -2
View File
@@ -847,10 +847,16 @@ bool iswild(const char* mask, const char* name)
unsigned _fi_attributes(const char* root, const char* name)
{
char buf[MAX_PATH];
// verify that we can not overflow:
if(std::strlen(root) + std::strlen(_fi_sep) + std::strlen(name) >= MAX_PATH)
return 0;
int r;
if( ( (root[0] == *_fi_sep) || (root[0] == *_fi_sep_alt) ) && (root[1] == '\0') )
(std::sprintf)(buf, "%s%s", root, name);
r = (std::sprintf)(buf, "%s%s", root, name);
else
(std::sprintf)(buf, "%s%s%s", root, _fi_sep, name);
r = (std::sprintf)(buf, "%s%s%s", root, _fi_sep, name);
if(r < 0)
return 0; // sprintf failed
DIR* d = opendir(buf);
if(d)
{
+35
View File
@@ -0,0 +1,35 @@
/*
*
* Copyright (c) 2011
* John Maddock
*
* Use, modification and distribution are subject to the
* Boost Software License, Version 1.0. (See accompanying file
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
*
*/
#ifndef BOOST_REGEX_SRC_INTERNALS_HPP
#define BOOST_REGEX_SRC_INTERNALS_HPP
enum
{
char_class_space=1<<0,
char_class_print=1<<1,
char_class_cntrl=1<<2,
char_class_upper=1<<3,
char_class_lower=1<<4,
char_class_alpha=1<<5,
char_class_digit=1<<6,
char_class_punct=1<<7,
char_class_xdigit=1<<8,
char_class_alnum=char_class_alpha|char_class_digit,
char_class_graph=char_class_alnum|char_class_punct,
char_class_blank=1<<9,
char_class_word=1<<10,
char_class_unicode=1<<11,
char_class_horizontal=1<<12,
char_class_vertical=1<<13
};
#endif // BOOST_REGEX_SRC_INTERNALS_HPP
+8 -2
View File
@@ -167,11 +167,17 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA*
{
if(std::strcmp(e->re_endp, names[i]) == 0)
{
//
// We're converting an integer i to a string, and since i <= REG_E_UNKNOWN
// a five character string is *always* large enough:
//
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE)
(::sprintf_s)(localbuf, 5, "%d", i);
int r = (::sprintf_s)(localbuf, 5, "%d", i);
#else
(std::sprintf)(localbuf, "%d", i);
int r = (std::sprintf)(localbuf, "%d", i);
#endif
if(r < 0)
return 0; // sprintf failed
if(std::strlen(localbuf) < buf_size)
re_detail::strcpy_s(buf, buf_size, localbuf);
return std::strlen(localbuf) + 1;
+1 -20
View File
@@ -22,6 +22,7 @@
#include <boost/detail/workaround.hpp>
#include <memory>
#include <string>
#include "internals.hpp"
#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE) && defined(_NATIVE_WCHAR_T_DEFINED) \
&& !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) || defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER))\
@@ -147,26 +148,6 @@ c_regex_traits<wchar_t>::string_type BOOST_REGEX_CALL c_regex_traits<wchar_t>::t
return result;
}
enum
{
char_class_space=1<<0,
char_class_print=1<<1,
char_class_cntrl=1<<2,
char_class_upper=1<<3,
char_class_lower=1<<4,
char_class_alpha=1<<5,
char_class_digit=1<<6,
char_class_punct=1<<7,
char_class_xdigit=1<<8,
char_class_alnum=char_class_alpha|char_class_digit,
char_class_graph=char_class_alnum|char_class_punct,
char_class_blank=1<<9,
char_class_word=1<<10,
char_class_unicode=1<<11,
char_class_horizontal=1<<12,
char_class_vertical=1<<13
};
c_regex_traits<wchar_t>::char_class_type BOOST_REGEX_CALL c_regex_traits<wchar_t>::lookup_classname(const wchar_t* p1, const wchar_t* p2)
{
static const char_class_type masks[] =
+8 -8
View File
@@ -74,7 +74,7 @@ const wchar_t* wnames[] = {
};
}
typedef boost::basic_regex<wchar_t, c_regex_traits<wchar_t> > c_regex_type;
typedef boost::basic_regex<wchar_t, c_regex_traits<wchar_t> > wc_regex_type;
BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wchar_t* ptr, int f)
{
@@ -84,7 +84,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wcha
#ifndef BOOST_NO_EXCEPTIONS
try{
#endif
expression->guts = new c_regex_type();
expression->guts = new wc_regex_type();
#ifndef BOOST_NO_EXCEPTIONS
} catch(...)
{
@@ -134,9 +134,9 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wcha
try{
#endif
expression->re_magic = wmagic_value;
static_cast<c_regex_type*>(expression->guts)->set_expression(ptr, p2, flags);
expression->re_nsub = static_cast<c_regex_type*>(expression->guts)->mark_count() - 1;
result = static_cast<c_regex_type*>(expression->guts)->error_code();
static_cast<wc_regex_type*>(expression->guts)->set_expression(ptr, p2, flags);
expression->re_nsub = static_cast<wc_regex_type*>(expression->guts)->mark_count() - 1;
result = static_cast<wc_regex_type*>(expression->guts)->error_code();
#ifndef BOOST_NO_EXCEPTIONS
}
catch(const boost::regex_error& be)
@@ -215,7 +215,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW*
{
std::string p;
if((e) && (e->re_magic == wmagic_value))
p = static_cast<c_regex_type*>(e->guts)->get_traits().error_string(static_cast< ::boost::regex_constants::error_type>(code));
p = static_cast<wc_regex_type*>(e->guts)->get_traits().error_string(static_cast< ::boost::regex_constants::error_type>(code));
else
{
p = re_detail::get_default_error_string(static_cast< ::boost::regex_constants::error_type>(code));
@@ -264,7 +264,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW* expression, cons
#endif
if(expression->re_magic == wmagic_value)
{
result = regex_search(start, end, m, *static_cast<c_regex_type*>(expression->guts), flags);
result = regex_search(start, end, m, *static_cast<wc_regex_type*>(expression->guts), flags);
}
else
return result;
@@ -301,7 +301,7 @@ BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW* expression)
{
if(expression->re_magic == wmagic_value)
{
delete static_cast<c_regex_type*>(expression->guts);
delete static_cast<wc_regex_type*>(expression->guts);
}
expression->re_magic = 0;
}
+2
View File
@@ -189,6 +189,8 @@ test-suite regex
;
compile test_consolidated.cpp ;
build-project ../example ;
+4
View File
@@ -216,6 +216,10 @@ void test_options2()
TEST_REGEX_SEARCH("(a(?i)b)c", perl, "ABc", match_default, make_array(-2, -2));
TEST_REGEX_SEARCH("(a(?i)b)c", perl, "ABC", match_default, make_array(-2, -2));
TEST_REGEX_SEARCH("(a(?i)b)c", perl, "AbC", match_default, make_array(-2, -2));
TEST_REGEX_SEARCH("(?i)[dh]og", perl, "hog", match_default, make_array(0, 3, -2, -2));
TEST_REGEX_SEARCH("(?i)[dh]og", perl, "dog", match_default, make_array(0, 3, -2, -2));
TEST_REGEX_SEARCH("(?i)[dh]og", perl, "Hog", match_default, make_array(0, 3, -2, -2));
TEST_REGEX_SEARCH("(?i)[dh]og", perl, "Dog", match_default, make_array(0, 3, -2, -2));
TEST_REGEX_SEARCH("(a(?i)B)c", perl, "abc", match_default, make_array(0, 3, 0, 2, -2, -2));
TEST_REGEX_SEARCH("(a(?i)B)c", perl, "aBc", match_default, make_array(0, 3, 0, 2, -2, -2));
+29
View File
@@ -0,0 +1,29 @@
/*
*
* Copyright (c) 2011
* John Maddock
*
* Use, modification and distribution are subject to the
* Boost Software License, Version 1.0. (See accompanying file
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
*
*/
#include <libs/regex/src/c_regex_traits.cpp>
#include <libs/regex/src/cpp_regex_traits.cpp>
#include <libs/regex/src/cregex.cpp>
#include <libs/regex/src/fileiter.cpp>
#include <libs/regex/src/icu.cpp>
#include <libs/regex/src/instances.cpp>
#include <libs/regex/src/posix_api.cpp>
#include <libs/regex/src/regex.cpp>
#include <libs/regex/src/regex_debug.cpp>
#include <libs/regex/src/regex_raw_buffer.cpp>
#include <libs/regex/src/regex_traits_defaults.cpp>
#include <libs/regex/src/static_mutex.cpp>
#include <libs/regex/src/usinstances.cpp>
#include <libs/regex/src/wc_regex_traits.cpp>
#include <libs/regex/src/w32_regex_traits.cpp>
#include <libs/regex/src/wide_posix_api.cpp>
#include <libs/regex/src/winstances.cpp>
+1 -1
View File
@@ -30,7 +30,7 @@
template <class I>
typename I::value_type iterate_over(I a, I b)
{
typedef I::value_type value_type;
typedef typename I::value_type value_type;
value_type v = 0;
while(a != b)
{