Use read instead of ifstream rdbuf

This commit is contained in:
Lion Kortlepel 2021-09-20 17:19:38 +02:00
parent 3626f4108e
commit 32756ccc4a
No known key found for this signature in database
GPG Key ID: 4322FF2B4C71259B

View File

@ -30,11 +30,11 @@ TLuaPlugin::TLuaPlugin(TLuaEngine& Engine, const TLuaPluginConfig& Config, const
for (const auto& Entry : Entries) {
// read in entire file
try {
std::ifstream FileStream(Entry.string());
std::ifstream FileStream(Entry.string(), std::ios::in | std::ios::binary);
auto Size = std::filesystem::file_size(Entry);
auto Contents = std::make_shared<std::string>();
Contents->resize(Size);
FileStream.rdbuf()->sgetn(Contents->data(), Contents->size());
FileStream.read(Contents->data(), Contents->size());
mFileContents[fs::relative(Entry).string()] = Contents;
// Execute first time
auto Result = mEngine.EnqueueScript(mConfig.StateId, TLuaChunk(Contents, Entry.string(), MainFolder.string()));