/**************************************************************************** * LoadSzFile * Loads the selected file # from the specified 7z into rbuffer * Returns file size ***************************************************************************/ size_t LoadSzFile(char * filepath, unsigned char * rbuffer) { size_t size = 0; // stop checking if devices were removed/inserted // since we're loading a file HaltDeviceThread(); // halt parsing HaltParseThread(); file = fopen (filepath, "rb"); if (file > 0) { size = SzExtractFile(browserList[browser.selIndex].filenum, rbuffer); fclose (file); } else { ErrorPrompt("Error opening file!"); } // go back to checking if devices were inserted/removed ResumeDeviceThread(); return size; }
/**************************************************************************** * LoadFATSzFile * Loads the selected file # from the specified 7z into rbuffer * Returns file size ***************************************************************************/ int LoadFATSzFile(char * filepath, unsigned char * rbuffer) { u32 size; fatfile = fopen (filepath, "rb"); if (fatfile > 0) { size = SzExtractFile(filelist[selection].offset, rbuffer); fclose (fatfile); return size; } else { WaitPrompt((char*) "Error opening file"); return 0; } }