Lines Matching refs:pArchive
187 static bool parseZipArchive(ZipArchive* pArchive, const MemMapping* pMap) in parseZipArchive() argument
242 pArchive->numEntries = numEntries; in parseZipArchive()
243 pArchive->pEntries = (ZipEntry*) calloc(numEntries, sizeof(ZipEntry)); in parseZipArchive()
244 pArchive->pHash = mzHashTableCreate(mzHashSize(numEntries), NULL); in parseZipArchive()
245 if (pArchive->pEntries == NULL || pArchive->pHash == NULL) in parseZipArchive()
293 if (pArchive->pEntries[mid].fileNameLen < fileNameLen) { in parseZipArchive()
294 diffLen = pArchive->pEntries[mid].fileNameLen; in parseZipArchive()
298 diff = strncmp(pArchive->pEntries[mid].fileName, fileName, in parseZipArchive()
301 diff = pArchive->pEntries[mid].fileNameLen - fileNameLen; in parseZipArchive()
319 memmove(pArchive->pEntries + target + 1, in parseZipArchive()
320 pArchive->pEntries + target, in parseZipArchive()
323 pEntry = &pArchive->pEntries[target]; in parseZipArchive()
325 pEntry = &pArchive->pEntries[0]; in parseZipArchive()
328 pEntry = &pArchive->pEntries[i]; in parseZipArchive()
386 addEntryToHashTable(pArchive->pHash, pEntry); in parseZipArchive()
401 addEntryToHashTable(pArchive->pHash, &pArchive->pEntries[i]); in parseZipArchive()
409 mzHashTableFree(pArchive->pHash); in parseZipArchive()
410 pArchive->pHash = NULL; in parseZipArchive()
429 int mzOpenZipArchive(const char* fileName, ZipArchive* pArchive) in mzOpenZipArchive() argument
434 LOGV("Opening archive '%s' %p\n", fileName, pArchive); in mzOpenZipArchive()
437 memset(pArchive, 0, sizeof(*pArchive)); in mzOpenZipArchive()
439 pArchive->fd = open(fileName, O_RDONLY, 0); in mzOpenZipArchive()
440 if (pArchive->fd < 0) { in mzOpenZipArchive()
446 if (sysMapFileInShmem(pArchive->fd, &map) != 0) { in mzOpenZipArchive()
458 if (!parseZipArchive(pArchive, &map)) { in mzOpenZipArchive()
465 sysCopyMap(&pArchive->map, &map); in mzOpenZipArchive()
470 mzCloseZipArchive(pArchive); in mzOpenZipArchive()
481 void mzCloseZipArchive(ZipArchive* pArchive) in mzCloseZipArchive() argument
483 LOGV("Closing archive %p\n", pArchive); in mzCloseZipArchive()
485 if (pArchive->fd >= 0) in mzCloseZipArchive()
486 close(pArchive->fd); in mzCloseZipArchive()
487 if (pArchive->map.addr != NULL) in mzCloseZipArchive()
488 sysReleaseShmem(&pArchive->map); in mzCloseZipArchive()
490 free(pArchive->pEntries); in mzCloseZipArchive()
492 mzHashTableFree(pArchive->pHash); in mzCloseZipArchive()
494 pArchive->fd = -1; in mzCloseZipArchive()
495 pArchive->pHash = NULL; in mzCloseZipArchive()
496 pArchive->pEntries = NULL; in mzCloseZipArchive()
504 const ZipEntry* mzFindZipEntry(const ZipArchive* pArchive, in mzFindZipEntry() argument
509 return (const ZipEntry*)mzHashTableLookup(pArchive->pHash, in mzFindZipEntry()
526 static bool processStoredEntry(const ZipArchive *pArchive, in processStoredEntry() argument
541 n = read(pArchive->fd, buf, count); in processStoredEntry()
555 static bool processDeflatedEntry(const ZipArchive *pArchive, in processDeflatedEntry() argument
607 int cc = read(pArchive->fd, readBuf, getSize); in processDeflatedEntry()
670 bool mzProcessZipEntryContents(const ZipArchive *pArchive, in mzProcessZipEntryContents() argument
678 oldOff = lseek(pArchive->fd, 0, SEEK_CUR); in mzProcessZipEntryContents()
681 lseek(pArchive->fd, pEntry->offset, SEEK_SET); in mzProcessZipEntryContents()
685 ret = processStoredEntry(pArchive, pEntry, processFunction, cookie); in mzProcessZipEntryContents()
688 ret = processDeflatedEntry(pArchive, pEntry, processFunction, cookie); in mzProcessZipEntryContents()
697 lseek(pArchive->fd, oldOff, SEEK_SET); in mzProcessZipEntryContents()
712 bool mzIsZipEntryIntact(const ZipArchive *pArchive, const ZipEntry *pEntry) in mzIsZipEntryIntact() argument
718 ret = mzProcessZipEntryContents(pArchive, pEntry, crcProcessFunction, in mzIsZipEntryIntact()
753 bool mzReadZipEntry(const ZipArchive* pArchive, const ZipEntry* pEntry, in mzReadZipEntry() argument
761 ret = mzProcessZipEntryContents(pArchive, pEntry, copyProcessFunction, in mzReadZipEntry()
799 bool mzExtractZipEntryToFile(const ZipArchive *pArchive, in mzExtractZipEntryToFile() argument
802 bool ret = mzProcessZipEntryContents(pArchive, pEntry, writeProcessFunction, in mzExtractZipEntryToFile()
832 bool mzExtractZipEntryToBuffer(const ZipArchive *pArchive, in mzExtractZipEntryToBuffer() argument
839 bool ret = mzProcessZipEntryContents(pArchive, pEntry, in mzExtractZipEntryToBuffer()
929 bool mzExtractRecursive(const ZipArchive *pArchive, in mzExtractRecursive() argument
986 for (i = 0; i < pArchive->numEntries; i++) { in mzExtractRecursive()
987 ZipEntry *pEntry = pArchive->pEntries + i; in mzExtractRecursive()
1088 ok = mzReadZipEntry(pArchive, pEntry, linkTarget, in mzExtractRecursive()
1123 bool ok = mzExtractZipEntryToFile(pArchive, pEntry, fd); in mzExtractRecursive()