diff --git a/td/telegram/files/FileGcWorker.cpp b/td/telegram/files/FileGcWorker.cpp index cfebd0fc2..1f12059a8 100644 --- a/td/telegram/files/FileGcWorker.cpp +++ b/td/telegram/files/FileGcWorker.cpp @@ -99,23 +99,23 @@ void FileGcWorker::run_gc(const FileGcParameters ¶meters, std::vector(info.file_type)]) { type_immunity_ignored_cnt++; - new_stats.add(FullFileInfo(info)); + new_stats.add_copy(info); return true; } if (td::contains(parameters.exclude_owner_dialog_ids, info.owner_dialog_id)) { exclude_owner_dialog_id_ignored_cnt++; - new_stats.add(FullFileInfo(info)); + new_stats.add_copy(info); return true; } if (!parameters.owner_dialog_ids.empty() && !td::contains(parameters.owner_dialog_ids, info.owner_dialog_id)) { owner_dialog_id_ignored_cnt++; - new_stats.add(FullFileInfo(info)); + new_stats.add_copy(info); return true; } if (info.mtime_nsec * 1e-9 > now - parameters.immunity_delay) { // new files are immune to gc time_immunity_ignored_cnt++; - new_stats.add(FullFileInfo(info)); + new_stats.add_copy(info); return true; } @@ -167,7 +167,7 @@ void FileGcWorker::run_gc(const FileGcParameters ¶meters, std::vector all_files; + void add_copy(const FullFileInfo &info); void add(FullFileInfo &&info); void apply_dialog_limit(int32 limit); @@ -87,6 +88,7 @@ struct FileStats { FileTypeStat get_total_nontemp_stat() const; private: + void add_impl(const FullFileInfo &info); void add(StatByType &by_type, FileType file_type, int64 size); };