git: 76a985cab04d - main - devel/zziplib: fix build with clang 15

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sun, 18 Dec 2022 17:43:40 UTC
The branch main has been updated by dim (src committer):

URL: https://cgit.FreeBSD.org/ports/commit/?id=76a985cab04d771c8446662c310fe2261e722fac

commit 76a985cab04d771c8446662c310fe2261e722fac
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2022-12-05 22:55:48 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2022-12-18 17:22:14 +0000

    devel/zziplib: fix build with clang 15
    
    During an exp-run for llvm 15 (see bug 265425), it turned out that
    devel/zziplib failed to build with clang (and lld) 15:
    
    /wrkdirs/usr/ports/devel/zziplib/work/zziplib-0.13.72/zzip/mmapped.c:664:11: error: incompatible pointer to integer conversion initializing 'off_t' (aka 'long') with an expression of type 'zzip_byte_t *' (aka 'unsigned char *') [-Wint-conversion]
        off_t offset = zzip_file_header_to_data(header);
              ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /wrkdirs/usr/ports/devel/zziplib/work/zziplib-0.13.72/zzip/mmapped.c:666:34: warning: incompatible pointer types initializing 'struct zzip_extra_zip64 *' with an expression of type 'char *' [-Wincompatible-pointer-types]
            struct zzip_extra_zip64* zip64 =
                                     ^
    /wrkdirs/usr/ports/devel/zziplib/work/zziplib-0.13.72/zzip/mmapped.c:673:34: warning: incompatible pointer types initializing 'struct zzip_extra_zip64 *' with an expression of type 'char *' [-Wincompatible-pointer-types]
            struct zzip_extra_zip64* zip64 =
                                     ^
    /wrkdirs/usr/ports/devel/zziplib/work/zziplib-0.13.72/zzip/mmapped.c:685:24: error: incompatible integer to pointer conversion assigning to 'Bytef *' (aka 'unsigned char *') from 'off_t' (aka 'long') [-Wint-conversion]
        file->zlib.next_in = offset;
                           ^ ~~~~~~
    2 warnings and 2 errors generated.
    
    Use the patch from https://github.com/gdraheim/zziplib/issues/140 to fix
    the errors.
    
    PR:             268185
    Approved by:    portmgr (tcberner)
    MFH:            2022Q4
---
 devel/zziplib/files/patch-zzip_mmapped.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/devel/zziplib/files/patch-zzip_mmapped.c b/devel/zziplib/files/patch-zzip_mmapped.c
new file mode 100644
index 000000000000..7685ee124185
--- /dev/null
+++ b/devel/zziplib/files/patch-zzip_mmapped.c
@@ -0,0 +1,20 @@
+--- zzip/mmapped.c.orig	2021-01-04 23:05:08 UTC
++++ zzip/mmapped.c
+@@ -661,7 +661,7 @@ zzip_disk_entry_fopen(ZZIP_DISK * disk, ZZIP_DISK_ENTR
+ 
+     ___ /* a ZIP64 extended block may follow. */
+     size_t csize = zzip_file_header_csize(header);
+-    off_t offset = zzip_file_header_to_data(header);
++    size_t offset = zzip_file_header_sizeto_end(header);
+     if (csize == 0xFFFFu) {
+         struct zzip_extra_zip64* zip64 =
+            zzip_file_header_to_extras(header);
+@@ -682,7 +682,7 @@ zzip_disk_entry_fopen(ZZIP_DISK * disk, ZZIP_DISK_ENTR
+     file->zlib.zalloc = Z_NULL;
+     file->zlib.zfree = Z_NULL;
+     file->zlib.avail_in = csize;
+-    file->zlib.next_in = offset;
++    file->zlib.next_in = (Bytef *)header + offset;
+     ____;
+ 
+     DBG2("compressed size %i", (int) file->zlib.avail_in);