diff -c -r -x CVS boost_1_30_0/libs/filesystem/src/exception.cpp boost/libs/filesystem/src/exception.cpp *** boost_1_30_0/libs/filesystem/src/exception.cpp Wed May 14 13:07:42 2003 --- boost/libs/filesystem/src/exception.cpp Wed May 14 17:38:08 2003 *************** *** 33,38 **** --- 33,40 ---- # if !defined( BOOST_WINDOWS ) && !defined( BOOST_POSIX ) # if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) # define BOOST_WINDOWS + # elif defined(N_PLAT_NLM) + # define BOOST_NETWARE # else # define BOOST_POSIX # endif *************** *** 119,125 **** { ENOTDIR, fs::not_directory_error }, { EAGAIN, fs::busy_error }, { EBUSY, fs::busy_error }, ! # ifndef N_PLAT_NLM { ETXTBSY, fs::busy_error }, # endif { EEXIST, fs::already_exists_error }, --- 121,127 ---- { ENOTDIR, fs::not_directory_error }, { EAGAIN, fs::busy_error }, { EBUSY, fs::busy_error }, ! # ifndef BOOST_NETWARE { ETXTBSY, fs::busy_error }, # endif { EEXIST, fs::already_exists_error }, *************** *** 236,246 **** { int system_error_code() // artifact of POSIX and WINDOWS error reporting { ! # ifdef BOOST_WINDOWS return ::GetLastError(); ! # else return errno; // GCC 3.1 won't accept ::errno ! # endif } } // namespace detail } // namespace filesystem --- 238,248 ---- { int system_error_code() // artifact of POSIX and WINDOWS error reporting { ! # ifdef BOOST_WINDOWS return ::GetLastError(); ! # else return errno; // GCC 3.1 won't accept ::errno ! # endif } } // namespace detail } // namespace filesystem Only in boost_1_30_0/libs/filesystem/src: exception.cpp~ diff -c -r -x CVS boost_1_30_0/libs/filesystem/src/operations_posix_windows.cpp boost/libs/filesystem/src/operations_posix_windows.cpp *** boost_1_30_0/libs/filesystem/src/operations_posix_windows.cpp Tue Feb 4 17:22:32 2003 --- boost/libs/filesystem/src/operations_posix_windows.cpp Wed May 14 17:36:47 2003 *************** *** 37,42 **** --- 37,44 ---- # if !defined( BOOST_WINDOWS ) && !defined( BOOST_POSIX ) # if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) # define BOOST_WINDOWS + # elif defined(N_PLAT_NLM) + # define BOOST_NETWARE # else # define BOOST_POSIX # endif *************** *** 55,60 **** --- 57,65 ---- # include "dirent.h" # include "unistd.h" # include "fcntl.h" + # ifdef BOOST_NETWARE + # include "nwfattr.h" + # endif # endif #include *************** *** 66,72 **** namespace { ! #ifdef BOOST_POSIX # define BOOST_HANDLE DIR * # define BOOST_INVALID_HANDLE_VALUE 0 --- 71,77 ---- namespace { ! #if defined(BOOST_POSIX) || defined(BOOST_NETWARE) # define BOOST_HANDLE DIR * # define BOOST_INVALID_HANDLE_VALUE 0 *************** *** 259,265 **** bool exists( const path & ph ) { ! # ifdef BOOST_POSIX struct stat path_stat; return ::stat( ph.string().c_str(), &path_stat ) == 0; # else --- 264,270 ---- bool exists( const path & ph ) { ! # if defined(BOOST_POSIX) || defined(BOOST_NETWARE) struct stat path_stat; return ::stat( ph.string().c_str(), &path_stat ) == 0; # else *************** *** 269,275 **** bool is_directory( const path & ph ) { ! # ifdef BOOST_POSIX struct stat path_stat; if ( ::stat( ph.native_directory_string().c_str(), &path_stat ) != 0 ) boost::throw_exception( filesystem_error( --- 274,280 ---- bool is_directory( const path & ph ) { ! # if defined(BOOST_POSIX) || defined(BOOST_NETWARE) struct stat path_stat; if ( ::stat( ph.native_directory_string().c_str(), &path_stat ) != 0 ) boost::throw_exception( filesystem_error( *************** *** 288,294 **** bool _is_empty( const path & ph ) { ! # ifdef BOOST_POSIX struct stat path_stat; if ( ::stat( ph.string().c_str(), &path_stat ) != 0 ) boost::throw_exception( filesystem_error( --- 293,299 ---- bool _is_empty( const path & ph ) { ! # if defined(BOOST_POSIX) || defined(BOOST_NETWARE) struct stat path_stat; if ( ::stat( ph.string().c_str(), &path_stat ) != 0 ) boost::throw_exception( filesystem_error( *************** *** 317,322 **** --- 322,329 ---- # ifdef BOOST_POSIX if ( ::mkdir( dir_path.native_directory_string().c_str(), S_IRWXU|S_IRWXG|S_IRWXO ) != 0 ) + # elif defined(BOOST_NETWARE) + if ( ::mkdir( dir_path.native_directory_string().c_str() ) != 0 ) # else if ( !::CreateDirectoryA( dir_path.native_directory_string().c_str(), 0 ) ) # endif *************** *** 329,335 **** { if ( exists( ph ) ) { ! # ifdef BOOST_POSIX if ( ::remove( ph.string().c_str() ) != 0 ) { # else --- 336,342 ---- { if ( exists( ph ) ) { ! # if defined(BOOST_POSIX) || defined(BOOST_NETWARE) if ( ::remove( ph.string().c_str() ) != 0 ) { # else *************** *** 361,367 **** void rename( const path & old_path, const path & new_path ) { ! # ifdef BOOST_POSIX if ( exists( new_path ) // POSIX is too permissive so must check || ::rename( old_path.string().c_str(), new_path.string().c_str() ) != 0 ) # else --- 368,374 ---- void rename( const path & old_path, const path & new_path ) { ! # if defined(BOOST_POSIX) || defined(BOOST_NETWARE) if ( exists( new_path ) // POSIX is too permissive so must check || ::rename( old_path.string().c_str(), new_path.string().c_str() ) != 0 ) # else *************** *** 375,381 **** void copy_file( const path & from_file_ph, const path & to_file_ph ) { ! # ifdef BOOST_POSIX // TODO: Ask POSIX experts if this is the best way to copy a file const std::size_t buf_sz = 32768; --- 382,388 ---- void copy_file( const path & from_file_ph, const path & to_file_ph ) { ! # if defined(BOOST_POSIX) || defined(BOOST_NETWARE) // TODO: Ask POSIX experts if this is the best way to copy a file const std::size_t buf_sz = 32768; *************** *** 413,420 **** path current_path() { ! # ifdef BOOST_POSIX long path_max = ::pathconf( ".", _PC_PATH_MAX ); if ( path_max < 1 ) boost::throw_exception( filesystem_error( "boost::filesystem::current_path", --- 420,431 ---- path current_path() { ! # if defined(BOOST_POSIX) || defined(BOOST_NETWARE) ! # ifdef BOOST_POSIX long path_max = ::pathconf( ".", _PC_PATH_MAX ); + # else + long path_max = _MAX_PATH; + # endif if ( path_max < 1 ) boost::throw_exception( filesystem_error( "boost::filesystem::current_path", diff -c -r -x CVS boost_1_30_0/libs/filesystem/src/path_posix_windows.cpp boost/libs/filesystem/src/path_posix_windows.cpp *** boost_1_30_0/libs/filesystem/src/path_posix_windows.cpp Sat Jan 4 18:06:39 2003 --- boost/libs/filesystem/src/path_posix_windows.cpp Wed May 14 17:44:26 2003 *************** *** 20,28 **** //****************************************************************************// // BOOST_POSIX or BOOST_WINDOWS specify which API to use. ! # if !defined( BOOST_WINDOWS ) && !defined( BOOST_POSIX ) # if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) # define BOOST_WINDOWS # else # define BOOST_POSIX # endif --- 20,30 ---- //****************************************************************************// // BOOST_POSIX or BOOST_WINDOWS specify which API to use. ! # if !defined( BOOST_WINDOWS ) && !defined( BOOST_POSIX ) && !defined(BOOST_NETWARE) # if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) # define BOOST_WINDOWS + # elif defined(N_PLAT_NLM) + # define BOOST_NETWARE # else # define BOOST_POSIX # endif *************** *** 58,69 **** if ( end_pos && str[end_pos-1] == '/' ) return end_pos-1; std::string::size_type pos( str.find_last_of( '/', end_pos-1 ) ); ! # ifdef BOOST_WINDOWS if ( pos == std::string::npos ) pos = str.find_last_of( ':', end_pos-2 ); # endif return ( pos == std::string::npos // path itself must be a leaf (or empty) ! # ifdef BOOST_WINDOWS || (pos == 1 && str[0] == '/') // or share # endif ) ? 0 // so leaf is entire string --- 60,71 ---- if ( end_pos && str[end_pos-1] == '/' ) return end_pos-1; std::string::size_type pos( str.find_last_of( '/', end_pos-1 ) ); ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) if ( pos == std::string::npos ) pos = str.find_last_of( ':', end_pos-2 ); # endif return ( pos == std::string::npos // path itself must be a leaf (or empty) ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) || (pos == 1 && str[0] == '/') // or share # endif ) ? 0 // so leaf is entire string *************** *** 75,95 **** target = ""; // VC++ 6.0 doesn't have string::clear() std::string::const_iterator itr( src.begin() ); ! # ifdef BOOST_WINDOWS // deal with //share if ( src.size() >= 2 && src[0] == '/' && src[1] == '/' ) { target = "//"; itr += 2; } # endif while ( itr != src.end() ! # ifdef BOOST_WINDOWS && *itr != ':' # endif && *itr != '/' ) { target += *itr++; } if ( itr == src.end() ) return; ! # ifdef BOOST_WINDOWS if ( *itr == ':' ) { target += *itr++; --- 77,97 ---- target = ""; // VC++ 6.0 doesn't have string::clear() std::string::const_iterator itr( src.begin() ); ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) // deal with //share if ( src.size() >= 2 && src[0] == '/' && src[1] == '/' ) { target = "//"; itr += 2; } # endif while ( itr != src.end() ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) && *itr != ':' # endif && *itr != '/' ) { target += *itr++; } if ( itr == src.end() ) return; ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) if ( *itr == ':' ) { target += *itr++; *************** *** 209,215 **** std::string::const_iterator itr( src.begin() ); // [root-filesystem] ! # ifdef BOOST_WINDOWS if ( context != generic && src.size() >= 2 ) { // drive or device --- 211,217 ---- std::string::const_iterator itr( src.begin() ); // [root-filesystem] ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) if ( context != generic && src.size() >= 2 ) { // drive or device *************** *** 234,247 **** // root directory [ "/" ] if ( itr != src.end() && (*itr == '/' ! # ifdef BOOST_WINDOWS || (*itr == '\\' && context == platform) # endif ) ) { ++itr; if ( m_path.size() == 0 ! # ifdef BOOST_WINDOWS || m_path[m_path.size()-1] == ':' // drive or device || ( // share m_path.size() > 2 --- 236,249 ---- // root directory [ "/" ] if ( itr != src.end() && (*itr == '/' ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) || (*itr == '\\' && context == platform) # endif ) ) { ++itr; if ( m_path.size() == 0 ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) || m_path[m_path.size()-1] == ':' // drive or device || ( // share m_path.size() > 2 *************** *** 266,272 **** { if ( m_path.size() >= 2 // there is a named parent directory present && *(m_path.end()-1) == '/' ! # ifdef BOOST_WINDOWS && *(m_path.end()-2) != ':' # endif && *(m_path.end()-2) != '.' ) --- 268,274 ---- { if ( m_path.size() >= 2 // there is a named parent directory present && *(m_path.end()-1) == '/' ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) && *(m_path.end()-2) != ':' # endif && *(m_path.end()-2) != '.' ) *************** *** 275,281 **** std::string::iterator child( m_path.end()-2 ); while ( child != m_path.begin() && *child != '/' ! # ifdef BOOST_WINDOWS && *child != ':' # endif ) --child; --- 277,283 ---- std::string::iterator child( m_path.end()-2 ); while ( child != m_path.begin() && *child != '/' ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) && *child != ':' # endif ) --child; *************** *** 283,289 **** // only erase '/' if it is a separator rather than part of the root if ( (*child == '/' && (child == m_path.begin() ! # ifdef BOOST_WINDOWS || *(child-1) == ':')) || *child == ':' # else --- 285,291 ---- // only erase '/' if it is a separator rather than part of the root if ( (*child == '/' && (child == m_path.begin() ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) || *(child-1) == ':')) || *child == ':' # else *************** *** 303,309 **** do { name += *itr; } while ( ++itr != src.end() && *itr != '/' ! # ifdef BOOST_WINDOWS && (*itr != '\\' || context != platform) # endif ); --- 305,311 ---- do { name += *itr; } while ( ++itr != src.end() && *itr != '/' ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) && (*itr != '\\' || context != platform) # endif ); *************** *** 321,327 **** if ( itr != src.end() ) { if ( *itr == '/' ! # ifdef BOOST_WINDOWS || (*itr == '\\' && context == platform) # endif ) ++itr; --- 323,329 ---- if ( itr != src.end() ) { if ( *itr == '/' ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) || (*itr == '\\' && context == platform) # endif ) ++itr; *************** *** 338,344 **** std::string path::native_file_string() const { ! # ifdef BOOST_WINDOWS std::string s( m_path ); for ( std::string::iterator itr( s.begin() ); itr != s.end(); ++itr ) --- 340,346 ---- std::string path::native_file_string() const { ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) std::string s( m_path ); for ( std::string::iterator itr( s.begin() ); itr != s.end(); ++itr ) *************** *** 384,390 **** && ( len == 1 // "/" ! # ifdef BOOST_WINDOWS || ( len > 1 && ( s[len-2] == ':' // drive or device || ( s[0] == '/' // share --- 386,392 ---- && ( len == 1 // "/" ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) || ( len > 1 && ( s[len-2] == ':' // drive or device || ( s[0] == '/' // share *************** *** 413,419 **** std::string::size_type pos( 0 ); if ( m_path.size() && m_path[0] == '/' ) { pos = 1; ! # ifdef BOOST_WINDOWS if ( m_path.size()>1 && m_path[1] == '/' ) // share { if ( (pos = m_path.find( '/', 2 )) != std::string::npos ) ++pos; --- 415,421 ---- std::string::size_type pos( 0 ); if ( m_path.size() && m_path[0] == '/' ) { pos = 1; ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) if ( m_path.size()>1 && m_path[1] == '/' ) // share { if ( (pos = m_path.find( '/', 2 )) != std::string::npos ) ++pos; *************** *** 431,437 **** std::string path::root_name() const { ! # ifdef BOOST_WINDOWS std::string::size_type pos( m_path.find( ':' ) ); if ( pos != std::string::npos ) return m_path.substr( 0, pos+1 ); if ( m_path.size() > 2 && m_path[0] == '/' && m_path[1] == '/' ) --- 433,439 ---- std::string path::root_name() const { ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) std::string::size_type pos( m_path.find( ':' ) ); if ( pos != std::string::npos ) return m_path.substr( 0, pos+1 ); if ( m_path.size() > 2 && m_path[0] == '/' && m_path[1] == '/' ) *************** *** 447,453 **** { return std::string( ( m_path.size() && m_path[0] == '/' ) // covers both "/" and "//share" ! # ifdef BOOST_WINDOWS || ( m_path.size() > 2 && m_path[1] == ':' && m_path[2] == '/' ) // "c:/" --- 449,455 ---- { return std::string( ( m_path.size() && m_path[0] == '/' ) // covers both "/" and "//share" ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) || ( m_path.size() > 2 && m_path[1] == ':' && m_path[2] == '/' ) // "c:/" *************** *** 458,464 **** path path::root_path() const { return path( ! # ifdef BOOST_WINDOWS root_name(), native ) /= root_directory(); # else root_directory() ); --- 460,466 ---- path path::root_path() const { return path( ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) root_name(), native ) /= root_directory(); # else root_directory() ); *************** *** 469,475 **** bool path::is_complete() const { ! # ifdef BOOST_WINDOWS return m_path.size() > 2 && ( (m_path[1] == ':' && m_path[2] == '/') // "c:/" || (m_path[0] == '/' && m_path[1] == '/') // "//share" --- 471,477 ---- bool path::is_complete() const { ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) return m_path.size() > 2 && ( (m_path[1] == ':' && m_path[2] == '/') // "c:/" || (m_path[0] == '/' && m_path[1] == '/') // "//share" *************** *** 483,489 **** { return ( m_path.size() && m_path[0] == '/' ) // covers both "/" and "//share" ! # ifdef BOOST_WINDOWS || ( m_path.size() > 1 && m_path[1] == ':' ) // "c:" and "c:/" || ( m_path.size() > 3 && m_path[m_path.size()-1] == ':' ) // "device:" --- 485,491 ---- { return ( m_path.size() && m_path[0] == '/' ) // covers both "/" and "//share" ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) || ( m_path.size() > 1 && m_path[1] == ':' ) // "c:" and "c:/" || ( m_path.size() > 3 && m_path[m_path.size()-1] == ':' ) // "device:" *************** *** 493,499 **** bool path::has_root_name() const { ! # ifdef BOOST_WINDOWS return m_path.size() > 1 && ( m_path[1] == ':' // "c:" || m_path[m_path.size()-1] == ':' // "prn:" --- 495,501 ---- bool path::has_root_name() const { ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) return m_path.size() > 1 && ( m_path[1] == ':' // "c:" || m_path[m_path.size()-1] == ':' // "prn:" *************** *** 508,514 **** { return ( m_path.size() && m_path[0] == '/' ) // covers both "/" and "//share" ! # ifdef BOOST_WINDOWS || ( m_path.size() > 2 && m_path[1] == ':' && m_path[2] == '/' ) // "c:/" # endif --- 510,516 ---- { return ( m_path.size() && m_path[0] == '/' ) // covers both "/" and "//share" ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) || ( m_path.size() > 2 && m_path[1] == ':' && m_path[2] == '/' ) // "c:/" # endif *************** *** 534,540 **** } if ( path_ptr->m_path[pos] == '/' ) { ! # ifdef BOOST_WINDOWS if ( name[name.size()-1] == ':' // drive or device || (name[0] == '/' && name[1] == '/') ) // share { --- 536,542 ---- } if ( path_ptr->m_path[pos] == '/' ) { ! # if defined(BOOST_WINDOWS) || defined(BOOST_NETWARE) if ( name[name.size()-1] == ':' // drive or device || (name[0] == '/' && name[1] == '/') ) // share {