zip_source_seek_compute_offset —
validate arguments and compute offset
#include
<zip.h>
zip_int64_t
zip_source_seek_compute_offset(zip_uint64_t
offset, zip_uint64_t
length, void *data,
zip_uint64_t data_length,
zip_error_t *error);
Use this function to compute the offset for a
ZIP_SOURCE_SEEK or
ZIP_SOURCE_SEEK_WRITE command.
data and data_length are the
arguments to the source callback, offset is the
current offset and length is the length of the source
data or, for ZIP_SOURCE_SEEK_WRITE, the amount of
data written.
On success, it returns the new offset, on error it returns -1 and
sets error.
zip_source_seek_compute_offset() fails
if:
- [
ZIP_ER_INVAL]
- One of the arguments is invalid or the seek would place the offset outside
the data.
zip_source_seek_compute_offset() was added
in libzip 1.0.