mirror of
https://github.com/libretro/RetroArch
synced 2025-03-25 16:44:01 +00:00
Correct returnvalue in case file is not found in 7z archive
This commit is contained in:
parent
6386bfdb14
commit
e5112b3675
@ -176,6 +176,7 @@ int read_7zip_file(const char * archive_path,
|
|||||||
UInt16 *temp = NULL;
|
UInt16 *temp = NULL;
|
||||||
size_t tempSize = 0;
|
size_t tempSize = 0;
|
||||||
long outsize = -1;
|
long outsize = -1;
|
||||||
|
bool file_found = false;
|
||||||
|
|
||||||
/*These are the allocation routines.
|
/*These are the allocation routines.
|
||||||
* Currently using the non-standard 7zip choices. */
|
* Currently using the non-standard 7zip choices. */
|
||||||
@ -243,6 +244,7 @@ int read_7zip_file(const char * archive_path,
|
|||||||
|
|
||||||
if (strcmp(infile,relative_path) == 0)
|
if (strcmp(infile,relative_path) == 0)
|
||||||
{
|
{
|
||||||
|
file_found = true;
|
||||||
res = SzArEx_Extract(&db, &lookStream.s, i,&blockIndex,
|
res = SzArEx_Extract(&db, &lookStream.s, i,&blockIndex,
|
||||||
&outBuffer, &outBufferSize,&offset, &outSizeProcessed,
|
&outBuffer, &outBufferSize,&offset, &outSizeProcessed,
|
||||||
&allocImp, &allocTempImp);
|
&allocImp, &allocTempImp);
|
||||||
@ -272,11 +274,13 @@ int read_7zip_file(const char * archive_path,
|
|||||||
|
|
||||||
File_Close(&archiveStream.file);
|
File_Close(&archiveStream.file);
|
||||||
|
|
||||||
if (res == SZ_OK)
|
if (res == SZ_OK && file_found == true)
|
||||||
return outsize;
|
return outsize;
|
||||||
|
|
||||||
//Error handling:
|
//Error handling:
|
||||||
if (res == SZ_ERROR_UNSUPPORTED)
|
if (!file_found)
|
||||||
|
RARCH_ERR("File %s not found in %s\n",relative_path,archive_path);
|
||||||
|
else if (res == SZ_ERROR_UNSUPPORTED)
|
||||||
RARCH_ERR("7Zip decoder doesn't support this archive\n");
|
RARCH_ERR("7Zip decoder doesn't support this archive\n");
|
||||||
else if (res == SZ_ERROR_MEM)
|
else if (res == SZ_ERROR_MEM)
|
||||||
RARCH_ERR("7Zip decoder could not allocate memory\n");
|
RARCH_ERR("7Zip decoder could not allocate memory\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user