mirror of https://github.com/PCSX2/pcsx2.git
Avoid malloc when converting to RAW
This commit is contained in:
parent
511ceede3b
commit
3a054b9f91
|
@ -99,28 +99,22 @@ bool ConvertNoECCtoRAW(wxString file_in, wxString file_out)
|
|||
wxFFile fout(file_out, "wb");
|
||||
|
||||
if (fout.IsOpened()) {
|
||||
u8 buffer[512];
|
||||
size_t size = fin.Length();
|
||||
u8* buffer = (u8*)malloc(size);
|
||||
|
||||
if (buffer) {
|
||||
u8 empty[4] = { 0 };
|
||||
fin.Read(buffer, size);
|
||||
for (size_t i = 0; i < (size / 512); i++) {
|
||||
fin.Read(buffer, 512);
|
||||
fout.Write(buffer, 512);
|
||||
|
||||
for (size_t i = 0; i < (size / 512); i++) {
|
||||
u8* buf = &buffer[i * 512];
|
||||
fout.Write(buf, 512);
|
||||
|
||||
for (int j = 0; j < 4; j++) {
|
||||
u32 checksum = CalculateECC(&buf[j * 128]);
|
||||
fout.Write(&checksum, 3);
|
||||
}
|
||||
|
||||
fout.Write(empty, 4);
|
||||
for (int j = 0; j < 4; j++) {
|
||||
u32 checksum = CalculateECC(&buffer[j * 128]);
|
||||
fout.Write(&checksum, 3);
|
||||
}
|
||||
|
||||
result = true;
|
||||
free(buffer);
|
||||
fout.Write("\0\0\0\0", 4);
|
||||
}
|
||||
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue