Boost logo

Boost Users :

From: Kyle Alons (kalons_at_[hidden])
Date: 2008-04-02 08:43:05


After rebuilding an app with Boost 1.35 (using Visual Studio 2008/VC9
[creating a 32-bit Unicode executable] on Windows XP SP2), some code (only
in a release build) calling string_algo causes assertion failures at
iterator_range.hpp lines 265 and 283 (iterator_range::begin and
iterator_range::empty).

The assertions are a result of calls to replace_all and istarts_with (in 2
places; each call in different functions and called multiple times from a
single thread; thread data used in the calls is private to this thread). If
all of these calls are removed:

replace_all(<wstring variable>, L"/", L"\\");

if (istarts_with(<function returning wstring>, <function returning wstring>)
 return;

if (istarts_with(<wstring variable>, L"www."))
 <wstring variable>.erase(0, 4);

the assertions do not occur. If any or all are left in, some assertions
occur.

When building w/ Boost 1.34.1, the original code works as expected with no
assertions. Before I try to construct a repro case, does anyone have any
ideas on what could be wrong? Thanks.

-- 
---------------------
Kyle Alons
http://www.kinook.com

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net