Tasproj loading - don't attempt to read from empty files if they exist but are empty

This commit is contained in:
adelikat 2014-11-20 00:14:33 +00:00
parent 5a893c1a43
commit 2041b15260
3 changed files with 22 additions and 13 deletions

View File

@ -85,10 +85,13 @@ namespace BizHawk.Client.Common
public void Load(BinaryReader br)
{
LagLog.Clear();
int length = br.ReadInt32();
for (int i = 0; i < length; i++)
if (br.BaseStream.Length > 0)
{
LagLog.Add(br.ReadInt32(), br.ReadBoolean());
int length = br.ReadInt32();
for (int i = 0; i < length; i++)
{
LagLog.Add(br.ReadInt32(), br.ReadBoolean());
}
}
}
}

View File

@ -229,14 +229,17 @@ namespace BizHawk.Client.Common
public void Load(BinaryReader br)
{
States.Clear();
int nstates = br.ReadInt32();
for (int i = 0; i < nstates; i++)
if (br.BaseStream.Length > 0)
{
int frame = br.ReadInt32();
int len = br.ReadInt32();
byte[] data = br.ReadBytes(len);
States.Add(frame, data);
Used += len;
int nstates = br.ReadInt32();
for (int i = 0; i < nstates; i++)
{
int frame = br.ReadInt32();
int len = br.ReadInt32();
byte[] data = br.ReadBytes(len);
States.Add(frame, data);
Used += len;
}
}
}

View File

@ -53,9 +53,12 @@ namespace BizHawk.Client.Common
public void PopulateFromString(string settings)
{
var lines = settings.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
SaveGreenzone = bool.Parse(lines[0]);
Capacitymb = int.Parse(lines[1]);
if (!string.IsNullOrWhiteSpace(settings))
{
var lines = settings.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
SaveGreenzone = bool.Parse(lines[0]);
Capacitymb = int.Parse(lines[1]);
}
}
}
}