Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6a993053 authored by Piotr Jastrzebski's avatar Piotr Jastrzebski Committed by Android Git Automerger
Browse files

am 6871f937: am 400e7372: Merge "Add EndIteration method to free memory allocated"

* commit '6871f937':
  Add EndIteration method to free memory allocated
parents c3261151 6871f937
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -130,10 +130,10 @@ int32_t FindEntry(const ZipArchiveHandle handle, const char* entryName,
/*
 * Start iterating over all entries of a zip file. The order of iteration
 * is not guaranteed to be the same as the order of elements
 * in the central directory but is stable for a given zip file. |cookie|
 * must point to a writeable memory location, and will be set to the value
 * of an opaque cookie which can be used to make one or more calls to
 * Next.
 * in the central directory but is stable for a given zip file. |cookie| will
 * contain the value of an opaque cookie which can be used to make one or more
 * calls to Next. All calls to StartIteration must be matched by a call to
 * EndIteration to free any allocated memory.
 *
 * This method also accepts an optional prefix to restrict iteration to
 * entry names that start with |prefix|.
@@ -151,6 +151,12 @@ int32_t StartIteration(ZipArchiveHandle handle, void** cookie_ptr,
 */
int32_t Next(void* cookie, ZipEntry* data, ZipEntryName *name);

/*
 * End iteration over all entries of a zip file and frees the memory allocated
 * in StartIteration.
 */
void EndIteration(void* cookie);

/*
 * Uncompress and write an entry to an open file identified by |fd|.
 * |entry->uncompressed_length| bytes will be written to the file at
+6 −0
Original line number Diff line number Diff line
@@ -909,6 +909,12 @@ int32_t StartIteration(ZipArchiveHandle handle, void** cookie_ptr, const char* p
  return 0;
}

void EndIteration(void* cookie) {
  if (cookie != NULL) {
    free(cookie);
  }
}

int32_t FindEntry(const ZipArchiveHandle handle, const char* entryName,
                  ZipEntry* data) {
  const ZipArchive* archive = (ZipArchive*) handle;