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);
|
||||
|
||||
ROMLoaded = LoadVBAROM(method);
|
||||
inSz = false;
|
||||
|
||||
if (!ROMLoaded)
|
||||
{
|
||||
if(inSz)
|
||||
{
|
||||
browser.selIndex = 0;
|
||||
BrowserChangeFolder(method);
|
||||
}
|
||||
|
||||
ErrorPrompt("Error loading ROM!");
|
||||
}
|
||||
else
|
||||
|
@ -265,7 +265,7 @@ typedef struct _SzFileInStream
|
||||
} SzFileInStream;
|
||||
|
||||
// 7zip error list
|
||||
static char szerrormsg[][50] = {
|
||||
static char szerrormsg[][100] = {
|
||||
"File is corrupt.", // 7z: Data error
|
||||
"Archive contains too many files.", // 7z: Out of memory
|
||||
"File is corrupt (CRC mismatch).", // 7z: CRC Error
|
||||
@ -273,7 +273,7 @@ static char szerrormsg[][50] = {
|
||||
"File is corrupt.", // 7z: Fail
|
||||
"Failed to read file data.", // 7z: Data read failure
|
||||
"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;
|
||||
@ -451,7 +451,7 @@ int SzParse(char * filepath, int method)
|
||||
ResetBrowser();
|
||||
|
||||
// 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].offset = fileoff;
|
||||
browserList[0].length = filelen;
|
||||
@ -499,6 +499,8 @@ int SzParse(char * filepath, int method)
|
||||
}
|
||||
}
|
||||
|
||||
CancelAction();
|
||||
|
||||
// close file
|
||||
switch (method)
|
||||
{
|
||||
|
@ -236,7 +236,7 @@ SZ_RESULT SzDecode2(const CFileSize *packSizes, const CFolder *folder,
|
||||
if (state.Dictionary == 0)
|
||||
{
|
||||
allocMain->Free(state.Probs);
|
||||
return SZE_OUTOFMEMORY;
|
||||
return SZE_OUTOFMEMORYDIC;
|
||||
}
|
||||
}
|
||||
LzmaDecoderInit(&state);
|
||||
|
Loading…
Reference in New Issue
Block a user