12 Aug
2005
12 Aug
'05
5:05 p.m.
Hmm - this would surprise me. It looks to me that maybe I'm missing something about clean up from exceptions. baybe the std::ifstream lIn( lpszPathName ); should be moved outside the try block. I wouldn't think that should be necessary but now that I look at this it might be. What happens when you do this? Any C++ expert want to opine on this? Robert Ramey Jeff Flinn wrote:
Robert,
The following code leads to numerous leaks when lIn's contents are not an xml_archive. Any thoughts on the cause?
try { std::ifstream lIn( lpszPathName );
if( lIn.good() ) { boost::archive::xml_iarchive ia( lIn ); } } catch( boost::archive::xml_archive_exception& aExc ) { std::string lErr = aExc.what(); }
Thanks,
Jeff Flinn