/** * Shows info about file * @param filename ROM filename * @param json Is program running in json mode? * @param extract Vector of image extraction parameters */ static void DoFile(const char *filename, bool json, vector<ExtractParam>& extract){ cerr << "== " << rp_sprintf(C_("rpcli", "Reading file '%s'..."), filename) << endl; IRpFile *file = new RpFile(filename, RpFile::FM_OPEN_READ_GZ); if (file->isOpen()) { RomData *romData = RomDataFactory::create(file); if (romData && romData->isValid()) { if (json) { cerr << "-- " << C_("rpcli", "Outputting JSON data") << endl; cout << JSONROMOutput(romData) << endl; } else { cout << ROMOutput(romData) << endl; } ExtractImages(romData, extract); } else { cerr << "-- " << C_("rpcli", "ROM is not supported") << endl; if (json) cout << "{\"error\":\"rom is not supported\"}" << endl; } if (romData) { romData->unref(); } } else { cerr << "-- " << rp_sprintf(C_("rpcli", "Couldn't open file: %s"), strerror(file->lastError())) << endl; if (json) cout << "{\"error\":\"couldn't open file\",\"code\":" << file->lastError() << "}" << endl; } file->unref(); }
/** * TearDown() function. * Run after each test. */ void ImageDecoderTest::TearDown(void) { if (m_romData) { m_romData->unref(); m_romData = nullptr; } delete m_f_dds; m_f_dds = nullptr; if (m_gzDds) { gzclose_r(m_gzDds); m_gzDds = nullptr; } }