Provided by: libzzip-dev_0.13.62-3.1ubuntu0.18.04.1_amd64 bug

NAME

       zzip_entry_fopen, zzip_entry_ffile, zzip_entry_fread, zzip_entry_fclose, zzip_entry_feof -
       open a file within a zip disk for reading

SYNOPSIS

       #include <zzip/fseeko.h>

       zzip__new__ ZZIP_ENTRY_FILE * zzip_entry_fopen((ZZIP_ENTRY * entry, int takeover));

       zzip__new__ ZZIP_ENTRY_FILE * zzip_entry_ffile((FILE * disk, char *filename));

       zzip_size_t
                                    zzip_entry_fread((void *ptr, zzip_size_t sized, zzip_size_t nmemb, ZZIP_ENTRY_FILE * file));

       int zzip_entry_fclose((ZZIP_ENTRY_FILE * file));

       int zzip_entry_feof((ZZIP_ENTRY_FILE * file));

DESCRIPTION

       The zzip_entry_fopen function does take an "entry" argument and copies it (or just takes
       it over as owner) to a new ZZIP_ENTRY_FILE handle structure. That structure contains also
       a zlib buffer for decoding. The zzip_entry_fopen function does seek to the file_header of
       the given "entry" and validates it for the data buffer following it. We do also prefetch
       some data from the data buffer thereby trying to match the disk pagesize for faster access
       later. The zzip_entry_fread will then read in chunks of pagesizes which is the size of the
       internal readahead buffer. If an error occurs then null is returned.

       The zzip_entry_ffile function opens a file found by name, so it does a search into the zip
       central directory with zzip_entry_findfile and whatever is found first is given to
       zzip_entry_fopen

       The zzip_entry_fread function reads more bytes into the output buffer specified as
       arguments. The return value is null on eof or error, the stdio-like interface can not
       distinguish between these so you need to check with zzip_entry_feof for the difference.

       The zzip_entry_fclose function releases any zlib decoder info needed for decompression and
       dumps the ZZIP_ENTRY_FILE struct then.

       The zzip_entry_feof function allows to distinguish an error from an eof condition.
       Actually, if we found an error but we did already reach eof then we just keep on saying
       that it was an eof, so the app can just continue.

AUTHOR

       •   Guido Draheim <guidod@gmx.de>

COPYRIGHT

       Copyright (c) 2003,2004 Guido Draheim All rights reserved, use under the restrictions of
       the Lesser GNU General Public License or alternatively the restrictions of the Mozilla
       Public License 1.1