Provided by: libzzip-dev_0.13.72+dfsg.1-1.1_amd64 bug

NAME

       zzip_disk_fopen, zzip_disk_entry_fopen, zzip_disk_fread, zzip_disk_fclose, zzip_disk_feof
       -  openening a file part wrapped within a (mmapped) zip archive

SYNOPSIS

       #include <zzip/mmapped.h>

       zzip__new__ ZZIP_DISK_FILE *
       zzip_disk_fopen(ZZIP_DISK * disk, char *filename)

       zzip__new__ ZZIP_DISK_FILE *
       zzip_disk_entry_fopen(ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry)

       zzip_size_t
       zzip_disk_fread(void *ptr, zzip_size_t sized, zzip_size_t nmemb,
                       ZZIP_DISK_FILE * file)

       int
       zzip_disk_fclose(ZZIP_DISK_FILE * file)

       int
       zzip_disk_feof(ZZIP_DISK_FILE * file)

DESCRIPTION

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

        The zzip_disk_fopen function may return null on errors (errno).

        the ZZIP_DISK_FILE* is rather simple in just encapsulating the arguments given to the
       zzip_disk_entry_fopen function plus a zlib deflate buffer. Note that the ZZIP_DISK pointer
       does already contain the full mmapped file area of a zip disk, so open()ing a file part
       within that area happens to be a lookup of its bounds and encoding. That information is
       memorized on the ZZIP_DISK_FILE so that subsequent _read() operations will be able to get
       the next data portion or return an eof condition for that file part wrapped in the zip
       archive.

        The zzip_disk_entry_fopen function may return null on errors (errno = ENOMEM|EBADMSG).

        The zzip_disk_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_disk_feof for the difference.

        The zzip_disk_fclose function releases any zlib decoder info needed for decompression and
       dumps the ZZIP_DISK_FILE* then.

        The zzip_disk_fclose function always returns 0.

        The zzip_disk_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.

        The zzip_disk_feof function returns EOF in case and 0 when not at the end of file.

AUTHOR

        Guido Draheim <guidod@gmx.de>

COPYRIGHT

        Copyright (c)Guido Draheim, use under copyleft (LGPL,MPL)