fix mem card write verify bug

This commit is contained in:
dborth 2009-06-13 01:58:06 +00:00
parent d9c9fc15a7
commit 00e80c3f32

View File

@ -26,6 +26,7 @@
static u8 * SysArea = NULL; static u8 * SysArea = NULL;
static char savecomments[2][32]; static char savecomments[2][32];
static u8 * verifybuffer = NULL;
/**************************************************************************** /****************************************************************************
* MountMC * MountMC
@ -151,14 +152,14 @@ static int
VerifyMCFile (char *buf, int slot, char *filename, int datasize) VerifyMCFile (char *buf, int slot, char *filename, int datasize)
{ {
card_file CardFile; card_file CardFile;
unsigned char verifybuffer[65536] ATTRIBUTE_ALIGN (32);
int CardError; int CardError;
unsigned int blocks; unsigned int blocks;
unsigned int SectorSize; unsigned int SectorSize;
int bytesleft = 0; int bytesleft = 0;
int bytesread = 0; int bytesread = 0;
memset (verifybuffer, 0, 65536); verifybuffer = (u8 *)memalign(32, 262144);
memset (verifybuffer, 0, 262144);
// Get Sector Size // Get Sector Size
CARD_GetSectorSize (slot, &SectorSize); CARD_GetSectorSize (slot, &SectorSize);
@ -202,6 +203,7 @@ VerifyMCFile (char *buf, int slot, char *filename, int datasize)
CARD_Close (&CardFile); CARD_Close (&CardFile);
CancelAction(); CancelAction();
} }
free(verifybuffer);
return bytesread; return bytesread;
} }