本文整理汇总了C++中ZipEntry::setModWhen方法的典型用法代码示例。如果您正苦于以下问题:C++ ZipEntry::setModWhen方法的具体用法?C++ ZipEntry::setModWhen怎么用?C++ ZipEntry::setModWhen使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZipEntry
的用法示例。
在下文中一共展示了ZipEntry::setModWhen方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addCommon
//.........这里部分代码省略.........
src, dst);
failed = true;
}
}
if (failed) {
compressionMethod = ZipEntry::kCompressStored;
if (inputFp) rewind(inputFp);
fseek(mZipFp, startPosn, SEEK_SET);
/* fall through to kCompressStored case */
}
}
/* handle "no compression" request, or failed compression from above */
if (compressionMethod == ZipEntry::kCompressStored) {
if (inputFp) {
result = copyFpToFp(mZipFp, inputFp, &crc);
} else {
result = copyDataToFp(mZipFp, data, size, &crc);
}
if (result != NO_ERROR) {
// don't need to truncate; happens in CDE rewrite
LOGD("failed copying data in\n");
goto bail;
}
}
// currently seeked to end of file
uncompressedLen = inputFp ? ftell(inputFp) : size;
} else if (sourceType == ZipEntry::kCompressDeflated) {
/* we should support uncompressed-from-compressed, but it's not
* important right now */
assert(compressionMethod == ZipEntry::kCompressDeflated);
bool scanResult;
int method;
long compressedLen;
scanResult = ZipUtils::examineGzip(inputFp, &method, &uncompressedLen,
&compressedLen, &crc);
if (!scanResult || method != ZipEntry::kCompressDeflated) {
LOGD("this isn't a deflated gzip file?");
result = UNKNOWN_ERROR;
goto bail;
}
result = copyPartialFpToFp(mZipFp, inputFp, compressedLen, NULL);
if (result != NO_ERROR) {
LOGD("failed copying gzip data in\n");
goto bail;
}
} else {
assert(false);
result = UNKNOWN_ERROR;
goto bail;
}
/*
* We could write the "Data Descriptor", but there doesn't seem to
* be any point since we're going to go back and write the LFH.
*
* Update file offsets.
*/
endPosn = ftell(mZipFp); // seeked to end of compressed data
/*
* Success! Fill out new values.
*/
pEntry->setDataInfo(uncompressedLen, endPosn - startPosn, crc,
compressionMethod);
modWhen = getModTime(inputFp ? fileno(inputFp) : fileno(mZipFp));
pEntry->setModWhen(modWhen);
pEntry->setLFHOffset(lfhPosn);
mEOCD.mNumEntries++;
mEOCD.mTotalNumEntries++;
mEOCD.mCentralDirSize = 0; // mark invalid; set by flush()
mEOCD.mCentralDirOffset = endPosn;
/*
* Go back and write the LFH.
*/
if (fseek(mZipFp, lfhPosn, SEEK_SET) != 0) {
result = UNKNOWN_ERROR;
goto bail;
}
pEntry->mLFH.write(mZipFp);
/*
* Add pEntry to the list.
*/
mEntries.add(pEntry);
if (ppEntry != NULL)
*ppEntry = pEntry;
pEntry = NULL;
bail:
if (inputFp != NULL)
fclose(inputFp);
delete pEntry;
return result;
}