bool ZPatcher::FileDecompress(CLzma2Dec* decoder, FILE* sourceFile, const std::string& destFileName, const Byte& version) { FILE* destFile; errno = 0; destFile = fopen(destFileName.c_str(), "wb"); if (errno != 0) { Log(LOG_FATAL, "Error opening file \"%s\" to write updated data: %s", destFileName.c_str(), strerror(errno)); return false; } Log(LOG, "Writing File: %s", destFileName.c_str()); bool success = false; if (version == ZPatch_Version_1) { success = FileDecompress_Version_1(decoder, sourceFile, destFile); } else { success = FileDecompress(decoder, sourceFile, destFile); } fclose(destFile); return success; }
//--------------------------------------------------- // compressed stream CCompressedReader::CCompressedReader(const char* name, const char* sign) { data = (char*)FileDecompress(name, sign, (u32*)&Size); Pos = 0; }