From edb3c5f6c671acd856fd99fd066ce67b0f6ba16a Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Thu, 26 Feb 2026 22:04:48 +0300 Subject: [PATCH] compress: fix compilation fails because of multiple includes of same .h (fixes #18378) --- vlib/compress/compress.c.v | 1 + vlib/compress/szip/szip.c.v | 1 + .../zlib/zlib_miniz_compat_names_collision.h | 13 +++++++++++++ .../zlib/zlib_miniz_compat_names_collision_test.c.v | 7 +++++++ 4 files changed, 22 insertions(+) create mode 100644 vlib/compress/zlib/zlib_miniz_compat_names_collision.h create mode 100644 vlib/compress/zlib/zlib_miniz_compat_names_collision_test.c.v diff --git a/vlib/compress/compress.c.v b/vlib/compress/compress.c.v index 46a26895e..329e5d906 100644 --- a/vlib/compress/compress.c.v +++ b/vlib/compress/compress.c.v @@ -1,6 +1,7 @@ module compress #flag -I @VEXEROOT/thirdparty/zip +#define MINIZ_NO_ZLIB_COMPATIBLE_NAMES #include "miniz.h" pub const max_size = u64(1 << 31) diff --git a/vlib/compress/szip/szip.c.v b/vlib/compress/szip/szip.c.v index 8c68c659e..bc2ee6e59 100644 --- a/vlib/compress/szip/szip.c.v +++ b/vlib/compress/szip/szip.c.v @@ -3,6 +3,7 @@ module szip import os #flag -I @VEXEROOT/thirdparty/zip +#define MINIZ_NO_ZLIB_COMPATIBLE_NAMES #include "zip.c" @[params] diff --git a/vlib/compress/zlib/zlib_miniz_compat_names_collision.h b/vlib/compress/zlib/zlib_miniz_compat_names_collision.h new file mode 100644 index 000000000..850471081 --- /dev/null +++ b/vlib/compress/zlib/zlib_miniz_compat_names_collision.h @@ -0,0 +1,13 @@ +#ifndef ISSUE_18378_ZLIB_COMPAT_H +#define ISSUE_18378_ZLIB_COMPAT_H + +typedef void *voidpf; +typedef unsigned int uInt; + +typedef struct issue_18378_z_stream_s { + int dummy; +} z_stream; + +typedef voidpf (*alloc_func)(voidpf opaque, uInt items, uInt size); + +#endif diff --git a/vlib/compress/zlib/zlib_miniz_compat_names_collision_test.c.v b/vlib/compress/zlib/zlib_miniz_compat_names_collision_test.c.v new file mode 100644 index 000000000..101ac73ae --- /dev/null +++ b/vlib/compress/zlib/zlib_miniz_compat_names_collision_test.c.v @@ -0,0 +1,7 @@ +module zlib + +#include "@DIR/zlib_miniz_compat_names_collision.h" + +fn test_issue_18378_multiple_headers_do_not_conflict() { + assert true +} -- 2.39.5