mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-12-01 23:54:18 +01:00
avoid black banners due to filepath size limit
This commit is contained in:
parent
e25c4e9643
commit
66194a447e
@ -707,13 +707,22 @@ u8 *Channels::GetOpeningBnr(const u64 &title, u32 *outsize, const char *pathPref
|
|||||||
u32 high = TITLE_UPPER(title);
|
u32 high = TITLE_UPPER(title);
|
||||||
u32 low = TITLE_LOWER(title);
|
u32 low = TITLE_LOWER(title);
|
||||||
|
|
||||||
|
|
||||||
|
// avoid black banners - add path prefix length to ISFS_MAXPATH when loading from emuNAND
|
||||||
|
int customMaxPath;
|
||||||
|
if (pathPrefix && *pathPrefix != 0)
|
||||||
|
customMaxPath = ISFS_MAXPATH + strlen(pathPrefix);
|
||||||
|
else
|
||||||
|
customMaxPath = ISFS_MAXPATH;
|
||||||
|
|
||||||
|
// avoid black banners - we don't change filepath definition, it was already of this size for both cases...
|
||||||
char *filepath = (char *)memalign(32, ISFS_MAXPATH + strlen(pathPrefix));
|
char *filepath = (char *)memalign(32, ISFS_MAXPATH + strlen(pathPrefix));
|
||||||
if (!filepath)
|
if (!filepath)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
snprintf(filepath, ISFS_MAXPATH, "%s/title/%08x/%08x/content/title.tmd", pathPrefix, (unsigned int)high, (unsigned int)low);
|
snprintf(filepath, customMaxPath, "%s/title/%08x/%08x/content/title.tmd", pathPrefix, (unsigned int)high, (unsigned int)low);
|
||||||
|
|
||||||
u8 *buffer = NULL;
|
u8 *buffer = NULL;
|
||||||
u32 filesize = 0;
|
u32 filesize = 0;
|
||||||
@ -748,7 +757,7 @@ u8 *Channels::GetOpeningBnr(const u64 &title, u32 *outsize, const char *pathPref
|
|||||||
if (!found)
|
if (!found)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
snprintf(filepath, ISFS_MAXPATH, "%s/title/%08x/%08x/content/%08x.app", pathPrefix, (unsigned int)high, (unsigned int)low, (unsigned int)bootcontent);
|
snprintf(filepath, customMaxPath, "%s/title/%08x/%08x/content/%08x.app", pathPrefix, (unsigned int)high, (unsigned int)low, (unsigned int)bootcontent);
|
||||||
|
|
||||||
if (pathPrefix && *pathPrefix != 0)
|
if (pathPrefix && *pathPrefix != 0)
|
||||||
ret = LoadFileToMem(filepath, &buffer, &filesize);
|
ret = LoadFileToMem(filepath, &buffer, &filesize);
|
||||||
|
Loading…
Reference in New Issue
Block a user