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.