Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r49081 - trunk/boost/filesystem
From: bdawes_at_[hidden]
Date: 2008-10-01 10:21:20


Author: bemandawes
Date: 2008-10-01 10:21:19 EDT (Wed, 01 Oct 2008)
New Revision: 49081
URL: http://svn.boost.org/trac/boost/changeset/49081

Log:
Apply filesystem patches from ticket #2352
Text files modified:
   trunk/boost/filesystem/config.hpp | 4 ++--
   trunk/boost/filesystem/convenience.hpp | 13 +++++++++++++
   trunk/boost/filesystem/path.hpp | 2 +-
   3 files changed, 16 insertions(+), 3 deletions(-)

Modified: trunk/boost/filesystem/config.hpp
==============================================================================
--- trunk/boost/filesystem/config.hpp (original)
+++ trunk/boost/filesystem/config.hpp 2008-10-01 10:21:19 EDT (Wed, 01 Oct 2008)
@@ -60,13 +60,13 @@
 
 // narrow support only for badly broken compilers or libraries -------------//
 
-# if defined(BOOST_NO_STD_WSTRING) || defined(BOOST_NO_SFINAE) || defined(BOOST_NO_STD_LOCALE) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
+# if defined(BOOST_NO_STD_WSTRING) || defined(BOOST_NO_SFINAE) || defined(BOOST_NO_STD_LOCALE) || BOOST_WORKAROUND(__BORLANDC__, <0x610)
 # define BOOST_FILESYSTEM_NARROW_ONLY
 # endif
 
 // enable dynamic linking on Windows ---------------------------------------//
 
-# if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)) && defined(__BORLANDC__) && defined(__WIN32__)
+# if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)) && BOOST_WORKAROUND(__BORLANDC__, <0x610) && defined(__WIN32__)
 # error Dynamic linking Boost.Filesystem does not work for Borland; use static linking instead
 # endif
 

Modified: trunk/boost/filesystem/convenience.hpp
==============================================================================
--- trunk/boost/filesystem/convenience.hpp (original)
+++ trunk/boost/filesystem/convenience.hpp 2008-10-01 10:21:19 EDT (Wed, 01 Oct 2008)
@@ -241,10 +241,23 @@
       else if ( is_directory( m_imp->m_stack.top()->status() ) )
       {
         system::error_code ec;
+#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
+ if( m_imp->m_no_throw ) {
+ m_imp->m_stack.push(
+ basic_directory_iterator<Path>( *m_imp->m_stack.top(), ec )
+ );
+ }
+ else {
+ m_imp->m_stack.push(
+ basic_directory_iterator<Path>( *m_imp->m_stack.top() )
+ );
+ }
+#else
         m_imp->m_stack.push(
           m_imp->m_no_throw
             ? basic_directory_iterator<Path>( *m_imp->m_stack.top(), ec )
             : basic_directory_iterator<Path>( *m_imp->m_stack.top() ) );
+#endif
         if ( m_imp->m_stack.top() != end_itr )
         {
           ++m_imp->m_level;

Modified: trunk/boost/filesystem/path.hpp
==============================================================================
--- trunk/boost/filesystem/path.hpp (original)
+++ trunk/boost/filesystem/path.hpp 2008-10-01 10:21:19 EDT (Wed, 01 Oct 2008)
@@ -533,7 +533,7 @@
     // inserters and extractors --------------------------------------------//
 
 // bypass VC++ 7.0 and earlier, and broken Borland compilers
-# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__BORLANDC__, < 0x610)
     template< class Path >
     std::basic_ostream< typename Path::string_type::value_type,
       typename Path::string_type::traits_type > &


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk