FileSystem: Swap vector for DynamicHeapArray
No point zeroing it out.
This commit is contained in:
@ -1401,9 +1401,9 @@ s64 FileSystem::GetPathFileSize(const char* Path)
|
||||
return sd.Size;
|
||||
}
|
||||
|
||||
std::optional<std::vector<u8>> FileSystem::ReadBinaryFile(const char* filename, Error* error)
|
||||
std::optional<DynamicHeapArray<u8>> FileSystem::ReadBinaryFile(const char* filename, Error* error)
|
||||
{
|
||||
std::optional<std::vector<u8>> ret;
|
||||
std::optional<DynamicHeapArray<u8>> ret;
|
||||
|
||||
ManagedCFilePtr fp = OpenManagedCFile(filename, "rb", error);
|
||||
if (!fp)
|
||||
@ -1413,9 +1413,9 @@ std::optional<std::vector<u8>> FileSystem::ReadBinaryFile(const char* filename,
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::optional<std::vector<u8>> FileSystem::ReadBinaryFile(std::FILE* fp, Error* error)
|
||||
std::optional<DynamicHeapArray<u8>> FileSystem::ReadBinaryFile(std::FILE* fp, Error* error)
|
||||
{
|
||||
std::optional<std::vector<u8>> ret;
|
||||
std::optional<DynamicHeapArray<u8>> ret;
|
||||
|
||||
if (FSeek64(fp, 0, SEEK_END) != 0) [[unlikely]]
|
||||
{
|
||||
@ -1445,7 +1445,7 @@ std::optional<std::vector<u8>> FileSystem::ReadBinaryFile(std::FILE* fp, Error*
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = std::vector<u8>(static_cast<size_t>(size));
|
||||
ret = DynamicHeapArray<u8>(static_cast<size_t>(size));
|
||||
if (size > 0 && std::fread(ret->data(), 1u, static_cast<size_t>(size), fp) != static_cast<size_t>(size)) [[unlikely]]
|
||||
{
|
||||
Error::SetErrno(error, "fread() failed: ", errno);
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "heap_array.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <cstdio>
|
||||
@ -171,8 +172,8 @@ private:
|
||||
};
|
||||
#endif
|
||||
|
||||
std::optional<std::vector<u8>> ReadBinaryFile(const char* filename, Error* error = nullptr);
|
||||
std::optional<std::vector<u8>> ReadBinaryFile(std::FILE* fp, Error* error = nullptr);
|
||||
std::optional<DynamicHeapArray<u8>> ReadBinaryFile(const char* filename, Error* error = nullptr);
|
||||
std::optional<DynamicHeapArray<u8>> ReadBinaryFile(std::FILE* fp, Error* error = nullptr);
|
||||
std::optional<std::string> ReadFileToString(const char* filename, Error* error = nullptr);
|
||||
std::optional<std::string> ReadFileToString(std::FILE* fp, Error* error = nullptr);
|
||||
bool WriteBinaryFile(const char* filename, const void* data, size_t data_length, Error* error = nullptr);
|
||||
|
||||
@ -3,8 +3,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common/assert.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
#include <cstdlib>
|
||||
@ -117,18 +115,20 @@ private:
|
||||
{
|
||||
#ifdef _MSC_VER
|
||||
m_data = static_cast<T*>(_aligned_malloc(SIZE * sizeof(T), ALIGNMENT));
|
||||
if (!m_data)
|
||||
Panic("Memory allocation failed.");
|
||||
assert(m_data);
|
||||
if (!m_data) [[unlikely]]
|
||||
std::abort();
|
||||
#else
|
||||
if (posix_memalign(reinterpret_cast<void**>(&m_data), ALIGNMENT, SIZE * sizeof(T)) != 0)
|
||||
Panic("Memory allocation failed.");
|
||||
if (posix_memalign(reinterpret_cast<void**>(&m_data), ALIGNMENT, SIZE * sizeof(T)) != 0) [[unlikely]]
|
||||
std::abort();
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
m_data = static_cast<T*>(std::malloc(SIZE * sizeof(T)));
|
||||
if (!m_data)
|
||||
Panic("Memory allocation failed.");
|
||||
assert(m_data);
|
||||
if (!m_data) [[unlikely]]
|
||||
std::abort();
|
||||
}
|
||||
}
|
||||
void deallocate()
|
||||
@ -377,11 +377,12 @@ private:
|
||||
{
|
||||
#ifdef _MSC_VER
|
||||
m_data = static_cast<T*>(_aligned_realloc(prev_ptr, size * sizeof(T), alignment));
|
||||
assert(m_data);
|
||||
if (!m_data) [[unlikely]]
|
||||
Panic("Memory allocation failed.");
|
||||
std::abort();
|
||||
#else
|
||||
if (posix_memalign(reinterpret_cast<void**>(&m_data), alignment, size * sizeof(T)) != 0) [[unlikely]]
|
||||
Panic("Memory allocation failed.");
|
||||
std::abort();
|
||||
|
||||
if (prev_ptr)
|
||||
{
|
||||
@ -393,8 +394,9 @@ private:
|
||||
else
|
||||
{
|
||||
m_data = static_cast<T*>(std::realloc(prev_ptr, size * sizeof(T)));
|
||||
assert(m_data);
|
||||
if (!m_data) [[unlikely]]
|
||||
Panic("Memory allocation failed.");
|
||||
std::abort();
|
||||
}
|
||||
|
||||
m_size = size;
|
||||
|
||||
Reference in New Issue
Block a user