diff options
Diffstat (limited to 'base/file_util.cc')
-rw-r--r-- | base/file_util.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/base/file_util.cc b/base/file_util.cc index b24ffde..5ce4456 100644 --- a/base/file_util.cc +++ b/base/file_util.cc @@ -268,6 +268,24 @@ int64 ComputeDirectorySize(const FilePath& root_path) { return running_size; } +int64 ComputeFilesSize(const FilePath& directory, + const FilePath::StringType& pattern) { + int64 running_size = 0; + FileEnumerator file_iter(directory, false, FileEnumerator::FILES, pattern); + for (FilePath current = file_iter.Next(); !current.empty(); + current = file_iter.Next()) { + FileEnumerator::FindInfo info; + file_iter.GetFindInfo(&info); +#if defined(OS_WIN) + LARGE_INTEGER li = { info.nFileSizeLow, info.nFileSizeHigh }; + running_size += li.QuadPart; +#else + running_size += info.stat.st_size; +#endif + } + return running_size; +} + /////////////////////////////////////////////// // MemoryMappedFile |