This commit is contained in:
2025-11-27 19:03:57 +05:30
parent 4033cfb710
commit 0674330fb1
3 changed files with 16 additions and 8 deletions

View File

@ -126,16 +126,15 @@ namespace IACore
Expected<String, String> FileOps::ReadTextFile(IN CONST FilePath &path) Expected<String, String> FileOps::ReadTextFile(IN CONST FilePath &path)
{ {
const auto f = fopen(path.c_str(), "rb"); const auto f = fopen(path.c_str(), "r");
if (!f) if (!f)
return MakeUnexpected(std::format("Failed to open file: {}", path.c_str())); return MakeUnexpected(std::format("Failed to open file: {}", path.c_str()));
String result; String result;
fseek(f, 0, SEEK_END); fseek(f, 0, SEEK_END);
result.resize(ftell(f) + 1); result.resize(ftell(f));
fseek(f, 0, SEEK_SET); fseek(f, 0, SEEK_SET);
fread(result.data(), 1, result.size() - 1, f); fread(result.data(), 1, result.size(), f);
fclose(f); fclose(f);
result.back() = '\0';
return result; return result;
} }
@ -158,7 +157,7 @@ namespace IACore
{ {
if (!overwrite && FileSystem::exists(path)) if (!overwrite && FileSystem::exists(path))
return MakeUnexpected(std::format("File aready exists: {}", path.c_str())); return MakeUnexpected(std::format("File aready exists: {}", path.c_str()));
const auto f = fopen(path.c_str(), "wb"); const auto f = fopen(path.c_str(), "w");
if (!f) if (!f)
return MakeUnexpected(std::format("Failed to write to file: {}", path.c_str())); return MakeUnexpected(std::format("Failed to write to file: {}", path.c_str()));
const auto result = fwrite(contents.data(), 1, contents.size(), f); const auto result = fwrite(contents.data(), 1, contents.size(), f);

View File

@ -40,7 +40,10 @@ namespace IACore
BOOL Logger::EnableLoggingToDisk(IN PCCHAR filePath) BOOL Logger::EnableLoggingToDisk(IN PCCHAR filePath)
{ {
if (s_logFile.is_open()) if (s_logFile.is_open())
return true; {
s_logFile.flush();
s_logFile.close();
}
s_logFile.open(filePath); s_logFile.open(filePath);
return s_logFile.is_open(); return s_logFile.is_open();
} }

View File

@ -61,8 +61,14 @@ namespace IACore
#endif #endif
handle->IsRunning = false; handle->IsRunning = false;
if (onFinishCallback)
onFinishCallback(IA_MOVE(result)); if (!onFinishCallback)
return;
if (!result)
onFinishCallback(MakeUnexpected(result.error()));
else
onFinishCallback(*result);
}); });
return handle; return handle;