void ZipLocalFileHeader::init( const Poco::Path& fName, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl) { poco_assert (_fileName.empty()); setSearchCRCAndSizesAfterData(false); Poco::Path fileName(fName); fileName.setDevice(""); // clear device! setFileName(fileName.toString(Poco::Path::PATH_UNIX), fileName.isDirectory()); setRequiredVersion(2, 0); if (fileName.isFile()) { setCompressionMethod(cm); setCompressionLevel(cl); } else setCompressionMethod(ZipCommon::CM_STORE); }
void ZipLocalFileHeader::init( const Poco::Path& fName, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl) { poco_assert (_fileName.empty()); setSearchCRCAndSizesAfterData(false); Poco::Path fileName(fName); fileName.setDevice(""); // clear device! setFileName(fileName.toString(Poco::Path::PATH_UNIX), fileName.isDirectory()); setRequiredVersion(2, 0); if (fileName.isFile()) { setCompressionMethod(cm); setCompressionLevel(cl); } else setCompressionMethod(ZipCommon::CM_STORE); _rawHeader[GENERAL_PURPOSE_POS+1] |= 0x08; // Set "language encoding flag" to indicate that filenames and paths are in UTF-8. }