diff options
Diffstat (limited to 'indra/llfilesystem')
| -rw-r--r-- | indra/llfilesystem/CMakeLists.txt | 31 | ||||
| -rw-r--r-- | indra/llfilesystem/lldiskcache.cpp | 51 | 
2 files changed, 32 insertions, 50 deletions
| diff --git a/indra/llfilesystem/CMakeLists.txt b/indra/llfilesystem/CMakeLists.txt index 09c4c33ebf..9f24f75eab 100644 --- a/indra/llfilesystem/CMakeLists.txt +++ b/indra/llfilesystem/CMakeLists.txt @@ -4,12 +4,6 @@ project(llfilesystem)  include(00-Common)  include(LLCommon) -include(UnixInstall) - -include_directories( -    ${LLCOMMON_INCLUDE_DIRS} -    ${LLCOMMON_SYSTEM_INCLUDE_DIRS} -    )  set(llfilesystem_SOURCE_FILES      lldir.cpp @@ -53,29 +47,14 @@ if (WINDOWS)    LIST(APPEND llfilesystem_HEADER_FILES lldir_win32.h)  endif (WINDOWS) -set_source_files_properties(${llfilesystem_HEADER_FILES} -                            PROPERTIES HEADER_FILE_ONLY TRUE) -  list(APPEND llfilesystem_SOURCE_FILES ${llfilesystem_HEADER_FILES})  add_library (llfilesystem ${llfilesystem_SOURCE_FILES}) -set(cache_BOOST_LIBRARIES -    ${BOOST_FILESYSTEM_LIBRARY} -    ${BOOST_SYSTEM_LIBRARY} -    ) -  target_link_libraries(llfilesystem -    ${LLCOMMON_LIBRARIES} -    ${cache_BOOST_LIBRARIES} +        llcommon      ) - -if (DARWIN) -  include(CMakeFindFrameworks) -  find_library(COCOA_LIBRARY Cocoa) -  target_link_libraries(llfilesystem ${COCOA_LIBRARY}) -endif (DARWIN) - +target_include_directories( llfilesystem  INTERFACE   ${CMAKE_CURRENT_SOURCE_DIR})  # Add tests  if (LL_TESTS) @@ -85,14 +64,10 @@ if (LL_TESTS)      lldiriterator.cpp      ) -    set_source_files_properties(lldiriterator.cpp -    PROPERTIES -    LL_TEST_ADDITIONAL_LIBRARIES "${cache_BOOST_LIBRARIES}" -    )      LL_ADD_PROJECT_UNIT_TESTS(llfilesystem "${llfilesystem_TEST_SOURCE_FILES}")      # INTEGRATION TESTS -    set(test_libs llmath llcommon llfilesystem ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES}) +    set(test_libs llmath llcommon llfilesystem )      # TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests.      LL_ADD_INTEGRATION_TEST(lldir "" "${test_libs}") diff --git a/indra/llfilesystem/lldiskcache.cpp b/indra/llfilesystem/lldiskcache.cpp index dd3852fb93..54e49ebcb8 100644 --- a/indra/llfilesystem/lldiskcache.cpp +++ b/indra/llfilesystem/lldiskcache.cpp @@ -35,7 +35,6 @@  #include "llassettype.h"  #include "lldir.h"  #include <boost/filesystem.hpp> -#include <boost/range/iterator_range.hpp>  #include <chrono>  #include "lldiskcache.h" @@ -100,19 +99,20 @@ void LLDiskCache::purge()  #endif      if (boost::filesystem::is_directory(cache_path, ec) && !ec.failed())      { -        for (auto& entry : boost::make_iterator_range(boost::filesystem::directory_iterator(cache_path, ec), {})) +        boost::filesystem::directory_iterator iter(cache_path, ec); +        while (iter != boost::filesystem::directory_iterator() && !ec.failed())          { -            if (boost::filesystem::is_regular_file(entry, ec) && !ec.failed()) +            if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed())              { -                if (entry.path().string().find(mCacheFilenamePrefix) != std::string::npos) +                if ((*iter).path().string().find(mCacheFilenamePrefix) != std::string::npos)                  { -                    uintmax_t file_size = boost::filesystem::file_size(entry, ec); +                    uintmax_t file_size = boost::filesystem::file_size(*iter, ec);                      if (ec.failed())                      {                          continue;                      } -                    const std::string file_path = entry.path().string(); -                    const std::time_t file_time = boost::filesystem::last_write_time(entry, ec); +                    const std::string file_path = (*iter).path().string(); +                    const std::time_t file_time = boost::filesystem::last_write_time(*iter, ec);                      if (ec.failed())                      {                          continue; @@ -121,6 +121,7 @@ void LLDiskCache::purge()                      file_info.push_back(file_info_t(file_time, { file_size, file_path }));                  }              } +            iter.increment(ec);          }      } @@ -349,19 +350,21 @@ void LLDiskCache::clearCache()  #endif      if (boost::filesystem::is_directory(cache_path, ec) && !ec.failed())      { -        for (auto& entry : boost::make_iterator_range(boost::filesystem::directory_iterator(cache_path, ec), {})) +        boost::filesystem::directory_iterator iter(cache_path, ec); +        while (iter != boost::filesystem::directory_iterator() && !ec.failed())          { -            if (boost::filesystem::is_regular_file(entry, ec) && !ec.failed()) +            if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed())              { -                if (entry.path().string().find(mCacheFilenamePrefix) != std::string::npos) +                if ((*iter).path().string().find(mCacheFilenamePrefix) != std::string::npos)                  { -                    boost::filesystem::remove(entry, ec); +                    boost::filesystem::remove(*iter, ec);                      if (ec.failed())                      { -                        LL_WARNS() << "Failed to delete cache file " << entry << ": " << ec.message() << LL_ENDL; +                        LL_WARNS() << "Failed to delete cache file " << *iter << ": " << ec.message() << LL_ENDL;                      }                  }              } +            iter.increment(ec);          }      }  } @@ -380,20 +383,22 @@ void LLDiskCache::removeOldVFSFiles()  #endif      if (boost::filesystem::is_directory(cache_path, ec) && !ec.failed())      { -        for (auto& entry : boost::make_iterator_range(boost::filesystem::directory_iterator(cache_path, ec), {})) +        boost::filesystem::directory_iterator iter(cache_path, ec); +        while (iter != boost::filesystem::directory_iterator() && !ec.failed())          { -            if (boost::filesystem::is_regular_file(entry, ec) && !ec.failed()) +            if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed())              { -                if ((entry.path().string().find(CACHE_FORMAT) != std::string::npos) || -                    (entry.path().string().find(DB_FORMAT) != std::string::npos)) +                if (((*iter).path().string().find(CACHE_FORMAT) != std::string::npos) || +                    ((*iter).path().string().find(DB_FORMAT) != std::string::npos))                  { -                    boost::filesystem::remove(entry, ec); +                    boost::filesystem::remove(*iter, ec);                      if (ec.failed())                      { -                        LL_WARNS() << "Failed to delete cache file " << entry << ": " << ec.message() << LL_ENDL; +                        LL_WARNS() << "Failed to delete cache file " << *iter << ": " << ec.message() << LL_ENDL;                      }                  }              } +            iter.increment(ec);          }      }  } @@ -419,19 +424,21 @@ uintmax_t LLDiskCache::dirFileSize(const std::string dir)  #endif      if (boost::filesystem::is_directory(dir_path, ec) && !ec.failed())      { -        for (auto& entry : boost::make_iterator_range(boost::filesystem::directory_iterator(dir_path, ec), {})) +        boost::filesystem::directory_iterator iter(dir_path, ec); +        while (iter != boost::filesystem::directory_iterator() && !ec.failed())          { -            if (boost::filesystem::is_regular_file(entry, ec) && !ec.failed()) +            if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed())              { -                if (entry.path().string().find(mCacheFilenamePrefix) != std::string::npos) +                if ((*iter).path().string().find(mCacheFilenamePrefix) != std::string::npos)                  { -                    uintmax_t file_size = boost::filesystem::file_size(entry, ec); +                    uintmax_t file_size = boost::filesystem::file_size(*iter, ec);                      if (!ec.failed())                      {                          total_file_size += file_size;                      }                  }              } +            iter.increment(ec);          }      } | 
