From 6aece33b3f3af6a161e326af36bc894427fcf5ad Mon Sep 17 00:00:00 2001 From: Doug Zongker Date: Mon, 1 Feb 2010 14:40:12 -0800 Subject: add a one-argument version of package_extract_file Add a version of package_extract_file that returns the file data as its return value (to be consumed by some other edify function that expects to receive a bunch of binary data as an argument). Lets us avoid having two copies of a big file in memory (extracting it into /tmp, which is a ramdisk, and then having something load it into memory) when doing things like radio updates. Change-Id: Ie26ece5fbae457eb0ddcd8a13d74d78a769fbc70 --- minzip/Zip.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'minzip/Zip.h') diff --git a/minzip/Zip.h b/minzip/Zip.h index 1c1df2fae..9f99fba5b 100644 --- a/minzip/Zip.h +++ b/minzip/Zip.h @@ -168,6 +168,13 @@ bool mzIsZipEntryIntact(const ZipArchive *pArchive, const ZipEntry *pEntry); bool mzExtractZipEntryToFile(const ZipArchive *pArchive, const ZipEntry *pEntry, int fd); +/* + * Inflate and write an entry to a memory buffer, which must be long + * enough to hold mzGetZipEntryUncomplen(pEntry) bytes. + */ +bool mzExtractZipEntryToBuffer(const ZipArchive *pArchive, + const ZipEntry *pEntry, unsigned char* buffer); + /* * Inflate all entries under zipDir to the directory specified by * targetDir, which must exist and be a writable directory. -- cgit v1.2.3