summaryrefslogtreecommitdiff
path: root/indra/llfilesystem
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llfilesystem')
-rw-r--r--indra/llfilesystem/CMakeLists.txt31
-rw-r--r--indra/llfilesystem/lldiskcache.cpp51
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);
}
}