Skip to content

Commit 7bd08b7

Browse files
committed
Moved CMountDirectoryArchive.h to include, changed type to sharedptr
1 parent e55b5a0 commit 7bd08b7

File tree

7 files changed

+13
-12
lines changed

7 files changed

+13
-12
lines changed

include/nbl/system/CFileArchive.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,13 @@ class CFileArchive : public IFileArchive
105105
}
106106

107107
protected:
108-
CFileArchive(path&& _defaultAbsolutePath, system::logger_opt_smart_ptr&& logger, core::vector<SFileList::SEntry>* _items) :
108+
CFileArchive(path&& _defaultAbsolutePath, system::logger_opt_smart_ptr&& logger, std::shared_ptr<core::vector<SFileList::SEntry>> _items) :
109109
IFileArchive(std::move(_defaultAbsolutePath),std::move(logger))
110110
{
111-
auto itemsSharedPtr = std::shared_ptr<core::vector<SFileList::SEntry>>(_items);
112-
std::sort(itemsSharedPtr->begin(), itemsSharedPtr->end());
113-
m_items.store(itemsSharedPtr);
111+
std::sort(_items->begin(), _items->end());
112+
m_items.store(_items);
114113

115-
const auto fileCount = itemsSharedPtr->size();
114+
const auto fileCount = _items->size();
116115
m_filesBuffer = (std::byte*)_NBL_ALIGNED_MALLOC(fileCount*SIZEOF_INNER_ARCHIVE_FILE, ALIGNOF_INNER_ARCHIVE_FILE);
117116
m_fileFlags = (std::atomic_flag*)_NBL_ALIGNED_MALLOC(fileCount*sizeof(std::atomic_flag), alignof(std::atomic_flag));
118117
for (size_t i=0u; i<fileCount; i++)

src/nbl/builtin/template/CArchive.cpp.in

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33

44
using namespace @_NAMESPACE_@;
55

6-
static const auto k_builtinArchiveFileList = new nbl::core::vector<nbl::system::IFileArchive::SFileList::SEntry>{
6+
static const std::shared_ptr<nbl::core::vector<nbl::system::IFileArchive::SFileList::SEntry>> k_builtinArchiveFileList = std::make_shared<nbl::core::vector<nbl::system::IFileArchive::SFileList::SEntry>>(
7+
nbl::core::vector<nbl::system::IFileArchive::SFileList::SEntry>{
78
@_RESOURCES_INIT_LIST_@
8-
};
9+
});
910

1011
CArchive::CArchive(nbl::system::logger_opt_smart_ptr&& logger)
1112
: nbl::system::CFileArchive(nbl::system::path(pathPrefix.data()),std::move(logger), k_builtinArchiveFileList)

src/nbl/system/CArchiveLoaderTar.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@ core::smart_refctd_ptr<IFileArchive> CArchiveLoaderTar::createArchive_impl(core:
9898
if (!file || !(file->getFlags()&IFileBase::ECF_MAPPABLE))
9999
return nullptr;
100100

101-
core::vector<IFileArchive::SFileList::SEntry>* items = new core::vector<IFileArchive::SFileList::SEntry>();
101+
std::shared_ptr<core::vector<IFileArchive::SFileList::SEntry>> items = std::make_shared<core::vector<IFileArchive::SFileList::SEntry>>();
102+
102103
for (size_t pos=0ull; true; )
103104
{
104105
STarHeader fHead;

src/nbl/system/CArchiveLoaderTar.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class CArchiveLoaderTar final : public IArchiveLoader
1414
class CArchive final : public CFileArchive
1515
{
1616
public:
17-
CArchive(core::smart_refctd_ptr<IFile>&& _file, system::logger_opt_smart_ptr&& logger, core::vector<SFileList::SEntry>* _items) :
17+
CArchive(core::smart_refctd_ptr<IFile>&& _file, system::logger_opt_smart_ptr&& logger, std::shared_ptr<core::vector<IFileArchive::SFileList::SEntry>> _items) :
1818
CFileArchive(path(_file->getFileName()),std::move(logger),_items), m_file(std::move(_file)) {}
1919

2020
protected:

src/nbl/system/CArchiveLoaderZip.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ core::smart_refctd_ptr<IFileArchive> CArchiveLoaderZip::createArchive_impl(core:
106106
return nullptr;
107107
}
108108

109-
core::vector<IFileArchive::SFileList::SEntry>* items = new core::vector<IFileArchive::SFileList::SEntry>();
109+
std::shared_ptr<core::vector<IFileArchive::SFileList::SEntry>> items = std::make_shared<core::vector<IFileArchive::SFileList::SEntry>>();
110110
core::vector<SZIPFileHeader> itemsMetadata;
111111
// load file entries
112112
{
@@ -337,7 +337,7 @@ core::smart_refctd_ptr<IFileArchive> CArchiveLoaderZip::createArchive_impl(core:
337337
if (items->empty())
338338
return nullptr;
339339

340-
return core::make_smart_refctd_ptr<CArchive>(std::move(file),core::smart_refctd_ptr(m_logger.get()),items,std::move(itemsMetadata));
340+
return core::make_smart_refctd_ptr<CArchive>(std::move(file),core::smart_refctd_ptr(m_logger.get()), items, std::move(itemsMetadata));
341341
}
342342

343343
#if 0

src/nbl/system/CArchiveLoaderZip.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class CArchiveLoaderZip final : public IArchiveLoader
3939
CArchive(
4040
core::smart_refctd_ptr<IFile>&& _file,
4141
system::logger_opt_smart_ptr&& logger,
42-
core::vector<SFileList::SEntry>* _items,
42+
std::shared_ptr<core::vector<IFileArchive::SFileList::SEntry>> _items,
4343
core::vector<SZIPFileHeader>&& _itemsMetadata
4444
) : CFileArchive(path(_file->getFileName()),std::move(logger),_items),
4545
m_file(std::move(_file)), m_itemsMetadata(std::move(_itemsMetadata)), m_password("")

0 commit comments

Comments
 (0)