/**************************************************************************** * IsValidROM * * Checks if the specified file is a valid ROM * For now we will just check the file extension and file size * If the file is a zip, we will check the file extension / file size of the * first file inside ***************************************************************************/ static bool IsValidROM() { // file size should be between 96K and 8MB if(browserList[browser.selIndex].length < (1024*96) || browserList[browser.selIndex].length > Memory.MAX_ROM_SIZE) { ErrorPrompt("Invalid file size!"); return false; } if (strlen(browserList[browser.selIndex].filename) > 4) { char * p = strrchr(browserList[browser.selIndex].filename, '.'); if (p != NULL) { char * zippedFilename = NULL; if(stricmp(p, ".zip") == 0 && !inSz) { // we need to check the file extension of the first file in the archive zippedFilename = GetFirstZipFilename (); if(zippedFilename && strlen(zippedFilename) > 4) p = strrchr(zippedFilename, '.'); else p = NULL; } if(p != NULL) { if (stricmp(p, ".smc") == 0 || stricmp(p, ".fig") == 0 || stricmp(p, ".sfc") == 0 || stricmp(p, ".swc") == 0) { if(zippedFilename) free(zippedFilename); return true; } } if(zippedFilename) free(zippedFilename); } } ErrorPrompt("Unknown file type!"); return false; }
/**************************************************************************** * IsValidROM * * Checks if the specified file is a valid ROM * For now we will just check the file extension and file size * If the file is a zip, we will check the file extension / file size of the * first file inside ***************************************************************************/ static bool IsValidROM() { if (strlen(browserList[browser.selIndex].filename) > 4) { char * p = strrchr(browserList[browser.selIndex].filename, '.'); if (p != NULL) { char * zippedFilename = NULL; if(strcasecmp(p, ".zip") == 0 && !inSz) { // we need to check the file extension of the first file in the archive zippedFilename = GetFirstZipFilename (); if(zippedFilename && strlen(zippedFilename) > 4) p = strrchr(zippedFilename, '.'); else p = NULL; } if(p != NULL) { if (strcasecmp(p, ".smc") == 0 || strcasecmp(p, ".fig") == 0 || strcasecmp(p, ".sfc") == 0 || strcasecmp(p, ".swc") == 0) { if(zippedFilename) free(zippedFilename); return true; } } if(zippedFilename) free(zippedFilename); } } ErrorPrompt("Unknown file type!"); return false; }