diff --git a/openVulkanoCpp/Base/Utils.cpp b/openVulkanoCpp/Base/Utils.cpp index d3f8fd1..a028fe6 100644 --- a/openVulkanoCpp/Base/Utils.cpp +++ b/openVulkanoCpp/Base/Utils.cpp @@ -61,7 +61,7 @@ namespace OpenVulkano #endif } - Array Utils::ReadFile(const std::string& filePath, bool emptyOnMissing) + Array Utils::ReadFile(const std::string& filePath, bool emptyOnMissing, bool nullTerminateString) { std::ifstream file(filePath, std::ios::ate | std::ios::binary); if (!file.is_open()) @@ -69,7 +69,9 @@ namespace OpenVulkano if (emptyOnMissing) return {}; throw std::runtime_error("Failed to open file '" + filePath + "'!"); } - const size_t fileSize = static_cast(file.tellg()); + size_t fileSize = static_cast(file.tellg()); + if (nullTerminateString) fileSize++; + Array data(fileSize); file.seekg(0); file.read(data.Data(), fileSize); diff --git a/openVulkanoCpp/Base/Utils.hpp b/openVulkanoCpp/Base/Utils.hpp index a29ea03..391a322 100644 --- a/openVulkanoCpp/Base/Utils.hpp +++ b/openVulkanoCpp/Base/Utils.hpp @@ -159,7 +159,8 @@ namespace OpenVulkano return subs; } - static Array ReadFile(const std::string& filePath, bool emptyOnMissing = false); + static Array ReadFile(const std::string& filePath, bool emptyOnMissing = false, + bool nullTerminateString = false); template static int GetUniqueTypeId()