summaryrefslogtreecommitdiff
path: root/ext/zip/lib/zip_buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/zip/lib/zip_buffer.c')
-rw-r--r--ext/zip/lib/zip_buffer.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/ext/zip/lib/zip_buffer.c b/ext/zip/lib/zip_buffer.c
index 3d79b09f13..43864f9ba9 100644
--- a/ext/zip/lib/zip_buffer.c
+++ b/ext/zip/lib/zip_buffer.c
@@ -303,6 +303,17 @@ _zip_buffer_set_offset(zip_buffer_t *buffer, zip_uint64_t offset)
}
+int
+_zip_buffer_skip(zip_buffer_t *buffer, zip_uint64_t length) {
+ zip_uint64_t offset = buffer->offset + length;
+
+ if (offset < buffer->offset) {
+ buffer->ok = false;
+ return -1;
+ }
+ return _zip_buffer_set_offset(buffer, offset);
+}
+
zip_uint64_t
_zip_buffer_size(zip_buffer_t *buffer)
{