Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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.
}