
This section in operations.cpp fails to compile - BOOST_FILESYSTEM_DECL boost::filesystem::system_error_type remove_api( const std::string & ph ) { # if defined(__QNXNTO__) || (defined(__MSL__) && (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))) // Some Metrowerks C library versions fail on directories because of a // known Metrowerks coding error in ::remove. Workaround is to call // rmdir() or unlink() as indicated. // Same bug also reported for QNX, with the same fix. if ( (is_directory( ph ) ? ::rmdir( ph.string().c_str() ) // **ERROR** : ::unlink( ph.string().c_str() )) != 0 ) // **ERROR** # else 'ph' is now std::string (it was a locally defined type 'path') and does not have a member function 'string()'. I suspect this is a hangover from the previous implementation. Should those lines perhaps now be - if ( (is_directory( ph ) ? ::rmdir( ph.c_str() ) : ::unlink( ph.c_str() )) != 0 ) ********************************************************************* This section near the end of operations.cpp completely defeats QNX6 as struct dirent does not have a member called d_type. # ifdef BOOST_FILESYSTEM_STATUS_CACHE ... if ( entry.d_type == DT_DIR ) sf = symlink_sf = fs::directory_flag; else if ( entry.d_type == DT_REG ) sf = symlink_sf = fs::file_flag; else if ( entry.d_type == DT_LNK ) { sf = 0; symlink_sf = fs::symlink_flag; } else sf = symlink_sf = fs::other_flag; # else QNX does embody tests to determine the file (hence directory) type but they are based on a call to "stat( const char *path, struct stat buf )" and inspecting buf.st_mode with pre-defined macros e.g "S_IFDIR( buf.st_mode )" returns 1 if 'path' is a directory. This may be more portable? ************************************************************************ I am experiencing a blizzard of "comparison between signed and unsigned" warnings originating from path.hpp. They start at line 768 and they occur each time "size" is compared against a constant value. Sorry, I am not sure how to get rid of these warnings (in a portable way), but it would be a relief if they were to disappear :-) HTH Jim Douglas