X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fzip-reader.h;h=6a65f58c1c95f13d8b7345662f33f796663483dd;hb=a09e5b9e6c18d1fb2466f9192fe2172958c05d63;hp=225c5fecc5ad257e3635f7bcfec5b8c82d0d3f10;hpb=c39f02a7c1d95a2c7474a8b86c33e609a01c66e1;p=pspp diff --git a/src/libpspp/zip-reader.h b/src/libpspp/zip-reader.h index 225c5fecc5..6a65f58c1c 100644 --- a/src/libpspp/zip-reader.h +++ b/src/libpspp/zip-reader.h @@ -36,6 +36,10 @@ void zip_reader_destroy (struct zip_reader *zr); const char *zip_reader_get_member_name(const struct zip_reader *zr, size_t idx); +/* Returns true if ZR contains a member named MEMBER, false otherwise. */ +bool zip_reader_contains_member (const struct zip_reader *zr, + const char *member); + /* Return the zip member in the reader ZR, called MEMBER */ struct zip_member *zip_member_open (struct zip_reader *zr, const char *member); @@ -43,6 +47,12 @@ struct zip_member *zip_member_open (struct zip_reader *zr, const char *member); Returns the number of bytes read, or -1 on error */ int zip_member_read (struct zip_member *zm, void *buf, size_t n); +/* Read all of ZM into memory, storing the data in *DATAP and its size in *NP. + Returns NULL if successful, otherwise an error string that the caller + must eventually free(). */ +char *zip_member_read_all (struct zip_reader *, const char *member_name, + void **datap, size_t *np) WARN_UNUSED_RESULT; + void zip_member_finish (struct zip_member *zm);