mirror of
https://github.com/dborth/vbagx.git
synced 2024-11-22 10:39:18 +01:00
fix 7z lockup, better 7z error message
This commit is contained in:
parent
dbe234c052
commit
1abc60f6ab
@ -477,10 +477,15 @@ int BrowserLoadFile(int method)
|
|||||||
StripExt(ROMFilename, browserList[browser.selIndex].filename);
|
StripExt(ROMFilename, browserList[browser.selIndex].filename);
|
||||||
|
|
||||||
ROMLoaded = LoadVBAROM(method);
|
ROMLoaded = LoadVBAROM(method);
|
||||||
inSz = false;
|
|
||||||
|
|
||||||
if (!ROMLoaded)
|
if (!ROMLoaded)
|
||||||
{
|
{
|
||||||
|
if(inSz)
|
||||||
|
{
|
||||||
|
browser.selIndex = 0;
|
||||||
|
BrowserChangeFolder(method);
|
||||||
|
}
|
||||||
|
|
||||||
ErrorPrompt("Error loading ROM!");
|
ErrorPrompt("Error loading ROM!");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -265,7 +265,7 @@ typedef struct _SzFileInStream
|
|||||||
} SzFileInStream;
|
} SzFileInStream;
|
||||||
|
|
||||||
// 7zip error list
|
// 7zip error list
|
||||||
static char szerrormsg[][50] = {
|
static char szerrormsg[][100] = {
|
||||||
"File is corrupt.", // 7z: Data error
|
"File is corrupt.", // 7z: Data error
|
||||||
"Archive contains too many files.", // 7z: Out of memory
|
"Archive contains too many files.", // 7z: Out of memory
|
||||||
"File is corrupt (CRC mismatch).", // 7z: CRC Error
|
"File is corrupt (CRC mismatch).", // 7z: CRC Error
|
||||||
@ -273,7 +273,7 @@ static char szerrormsg[][50] = {
|
|||||||
"File is corrupt.", // 7z: Fail
|
"File is corrupt.", // 7z: Fail
|
||||||
"Failed to read file data.", // 7z: Data read failure
|
"Failed to read file data.", // 7z: Data read failure
|
||||||
"File is corrupt.", // 7z: Archive error
|
"File is corrupt.", // 7z: Archive error
|
||||||
"File uses too high of compression settings.", // 7z: Dictionary too large
|
"File uses too high of compression settings (dictionary size is too large).", // 7z: Dictionary too large
|
||||||
};
|
};
|
||||||
|
|
||||||
static SZ_RESULT SzRes;
|
static SZ_RESULT SzRes;
|
||||||
@ -451,7 +451,7 @@ int SzParse(char * filepath, int method)
|
|||||||
ResetBrowser();
|
ResetBrowser();
|
||||||
|
|
||||||
// add '..' folder in case the user wants exit the 7z
|
// add '..' folder in case the user wants exit the 7z
|
||||||
strncpy(browserList[0].displayname, "..", 2);
|
sprintf(browserList[0].displayname, "Up One Level");
|
||||||
browserList[0].isdir = 1;
|
browserList[0].isdir = 1;
|
||||||
browserList[0].offset = fileoff;
|
browserList[0].offset = fileoff;
|
||||||
browserList[0].length = filelen;
|
browserList[0].length = filelen;
|
||||||
@ -499,6 +499,8 @@ int SzParse(char * filepath, int method)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CancelAction();
|
||||||
|
|
||||||
// close file
|
// close file
|
||||||
switch (method)
|
switch (method)
|
||||||
{
|
{
|
||||||
|
@ -236,7 +236,7 @@ SZ_RESULT SzDecode2(const CFileSize *packSizes, const CFolder *folder,
|
|||||||
if (state.Dictionary == 0)
|
if (state.Dictionary == 0)
|
||||||
{
|
{
|
||||||
allocMain->Free(state.Probs);
|
allocMain->Free(state.Probs);
|
||||||
return SZE_OUTOFMEMORY;
|
return SZE_OUTOFMEMORYDIC;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LzmaDecoderInit(&state);
|
LzmaDecoderInit(&state);
|
||||||
|
Loading…
Reference in New Issue
Block a user