From 6c1430543af25bcf44f00c5dc6fb786df711a4ee Mon Sep 17 00:00:00 2001 From: Steve Howes Date: Sat, 9 Nov 2024 22:59:10 +0000 Subject: [PATCH] Fix error when using VC++ Requires C++17 --- PakFS/PakFS.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/PakFS/PakFS.cpp b/PakFS/PakFS.cpp index f07d9cf..c80d3a8 100644 --- a/PakFS/PakFS.cpp +++ b/PakFS/PakFS.cpp @@ -38,7 +38,14 @@ PakFS::~PakFS() { int PakFS::getFileSize(const std::string& t_filename) { if(files[t_filename] == -1) { std::ifstream file(base + "/" + t_filename, std::ios::binary | std::ios::ate); - return file.tellg(); + std::streampos size = file.tellg(); + if (size > UINT32_MAX) + { + std::cout << "Warning: " << base << "/" << t_filename << " exceeds max file size for PAK"; + return UINT32_MAX; + }else{ + return static_cast(size); + } }else{ return pakFiles[files[t_filename]]->getFileSize(t_filename); }