Skip to content

Commit

Permalink
Close streams when peeking for offset
Browse files Browse the repository at this point in the history
  • Loading branch information
kwsch committed Apr 12, 2018
1 parent 95c81e4 commit 90fd6fc
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 34 deletions.
39 changes: 21 additions & 18 deletions pk3DS/Subforms/Gen6/RSWE.cs
Expand Up @@ -422,23 +422,25 @@ private byte[] ConcatArrays(byte[] b1, byte[] b2)
private void CB_LocationID_SelectedIndexChanged(object sender, EventArgs e)
{
int f = CB_LocationID.SelectedIndex;
FileStream InStream = File.OpenRead(filepaths[f]);
BinaryReader br = new BinaryReader(InStream);
br.BaseStream.Seek(0x10, SeekOrigin.Begin);
int offset = br.ReadInt32() + 0xE;
int ofs2 = br.ReadInt32();
int length = ofs2 - offset;
if (length < 0xF6) //no encounters in this map

int offset;
using (var s = File.OpenRead(filepaths[f]))
using (var br = new BinaryReader(s))
{
ClearData();
br.Close();
return;
br.BaseStream.Seek(0x10, SeekOrigin.Begin);
offset = br.ReadInt32() + 0xE;
int ofs2 = br.ReadInt32();
int length = ofs2 - offset;
if (length < 0xF6) //no encounters in this map
{
ClearData();
return;
}
}
br.Close();

byte[] filedata = File.ReadAllBytes(filepaths[f]);

byte[] encounterdata = new Byte[0xF6];
byte[] encounterdata = new byte[0xF6];
Array.Copy(filedata, offset, encounterdata, 0, 0xF6);
parse(encounterdata);
}
Expand Down Expand Up @@ -554,12 +556,13 @@ private void B_Save_Click(object sender, EventArgs e)
}
else
{
FileStream InStream = File.OpenRead(filepaths[f]);
BinaryReader br = new BinaryReader(InStream);
br.BaseStream.Seek(0x10, SeekOrigin.Begin);
int offset = br.ReadInt32() + 0xe;
// int length = (int)br.BaseStream.Length - offset;
br.Close();
int offset;
using (var s = File.OpenRead(filepaths[f]))
using (var br = new BinaryReader(s))
{
br.BaseStream.Seek(0x10, SeekOrigin.Begin);
offset = br.ReadInt32() + 0xE;
}
byte[] filedata = File.ReadAllBytes(filepaths[f]);
byte[] preoffset;
if (offset < filedata.Length)
Expand Down
31 changes: 15 additions & 16 deletions pk3DS/Subforms/Gen6/XYWE.cs
Expand Up @@ -402,21 +402,24 @@ private string parseslot(byte[] slot)
private void CB_LocationID_SelectedIndexChanged(object sender, EventArgs e)
{
int f = CB_LocationID.SelectedIndex;
FileStream InStream = File.OpenRead(filepaths[f]);
BinaryReader br = new BinaryReader(InStream);
br.BaseStream.Seek(0x10, SeekOrigin.Begin);
int offset = br.ReadInt32() + 0x10;
int length = (int)br.BaseStream.Length - offset;
if (length < 0x178) //no encounters in this map
int offset;
using (var s = File.OpenRead(filepaths[f]))
using (var br = new BinaryReader(s))
{
ClearData();
return;

br.BaseStream.Seek(0x10, SeekOrigin.Begin);
offset = br.ReadInt32() + 0x10;
int length = (int)br.BaseStream.Length - offset;
if (length < 0x178) //no encounters in this map
{
ClearData();
return;
}
}
br.Close();

byte[] filedata = File.ReadAllBytes(filepaths[f]);

byte[] encounterdata = new Byte[0x178];
byte[] encounterdata = new byte[0x178];
Array.Copy(filedata, offset, encounterdata, 0, 0x178);
parse(encounterdata);
}
Expand Down Expand Up @@ -462,12 +465,8 @@ private void B_Save_Click(object sender, EventArgs e)
{
int f = CB_LocationID.SelectedIndex;
string filepath = filepaths[f];
FileStream InStream = File.OpenRead(filepaths[f]);
BinaryReader br = new BinaryReader(InStream);
br.BaseStream.Seek(0x10, SeekOrigin.Begin);
int offset = br.ReadInt32() + 0x10;
br.Close();
byte[] filedata = File.ReadAllBytes(filepaths[f]);
byte[] filedata = File.ReadAllBytes(filepath);
int offset = BitConverter.ToInt32(filedata, 0x10) + 0x10;
byte[] preoffset;
if (offset < filedata.Length)
{
Expand Down

1 comment on commit 90fd6fc

@sora10pls
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I knew it wasn't just me :p #157

Please sign in to comment.