Fixed file access with the io module when using append mode

This commit is contained in:
EvilFactory
2023-05-23 17:56:05 -03:00
parent 2093e7ca7f
commit 3836ed40d6
@@ -24,6 +24,22 @@ namespace Barotrauma
return FileMode.Append;
}
public static FileAccess ParseFileAccess(string mode)
{
mode = mode.Replace("b", "");
if (mode == "r")
return FileAccess.Read;
else if (mode == "r+")
return FileAccess.ReadWrite;
else if (mode == "w")
return FileAccess.ReadWrite;
else if (mode == "w+")
return FileAccess.ReadWrite;
else
return FileAccess.Write;
}
public override string GetEnvironmentVariable(string envvarname)
{
return null;
@@ -38,7 +54,8 @@ namespace Barotrauma
{
if (!LuaCsFile.IsPathAllowedLuaException(filename)) { return Stream.Null; }
return new FileStream(filename, ParseFileMode(mode), FileAccess.ReadWrite, FileShare.ReadWrite | FileShare.Delete);
FileStream stream = new FileStream(filename, ParseFileMode(mode), ParseFileAccess(mode), FileShare.ReadWrite | FileShare.Delete);
return stream;
}
public override Stream IO_GetStandardStream(StandardFileType type)