1 Star 0 Fork 22

yueyaoqiang/opengauss-server

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0003-zlib.patch 1.67 KB
一键复制 编辑 原始数据 按行查看 历史
zhangxubo 提交于 2021-12-02 16:30 . init opengauss-server
From 466c5b509e668e5d211e919ef6d1fc360e4269f4 Mon Sep 17 00:00:00 2001
From: xukunpeng <xukunpeng2@huawei.com>
Date: Tue, 13 Apr 2021 11:06:05 +0800
Subject: [PATCH 3/3] [Huawei]patch to zlib
Offering: GaussDB Kernel
More detail: patch huawei_unzip_alloc_hook.patch and huawei_unzip_alloc_hook.patch2
Signed-off-by: xukunpeng xukunpeng2@huawei.com
---
contrib/minizip/unzip.c | 10 ++++++++++
contrib/minizip/unzip.h | 13 +++++++++++++
2 files changed, 23 insertions(+)
diff --git a/contrib/minizip/unzip.c b/contrib/minizip/unzip.c
index bcfb941..a321034 100644
--- a/contrib/minizip/unzip.c
+++ b/contrib/minizip/unzip.c
@@ -108,6 +108,16 @@
#define UNZ_MAXFILENAMEINZIP (256)
#endif
+static unz_memfunc g_unz_memapi = {0, 0};
+
+extern int ZEXPORT unz_set_memfuncs(const unz_memfunc* memfunc)
+{
+ g_unz_memapi = *memfunc;
+}
+
+#define ALLOC(size) ((*(g_unz_memapi.m_malloc))(size))
+#define TRYFREE(p) { if (p) { (*(g_unz_memapi.m_free))(p); p = NULL; } }
+
#ifndef ALLOC
# define ALLOC(size) (malloc(size))
#endif
diff --git a/contrib/minizip/unzip.h b/contrib/minizip/unzip.h
index 2104e39..06eb49c 100644
--- a/contrib/minizip/unzip.h
+++ b/contrib/minizip/unzip.h
@@ -429,6 +429,19 @@ extern int ZEXPORT unzSetOffset64 (unzFile file, ZPOS64_T pos);
extern int ZEXPORT unzSetOffset (unzFile file, uLong pos);
+/* memory manager api */
+typedef voidp (* malloc_pf) (size_t);
+typedef void (* free_pf) (voidp);
+
+typedef struct unz_memfunc_s
+{
+ malloc_pf m_malloc;
+ free_pf m_free;
+} unz_memfunc;
+
+extern int ZEXPORT unz_set_memfuncs OF ((const unz_memfunc* memfunc));
+
+
#ifdef __cplusplus
}
--
2.23.0
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/yueyaoqiang/opengauss-server.git
git@gitee.com:yueyaoqiang/opengauss-server.git
yueyaoqiang
opengauss-server
opengauss-server
master

搜索帮助