代码拉取完成,页面将自动刷新
同步操作将从 src-openEuler/opengauss-server 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/configure zlib_h6/configure
*** zlib/configure 2022-08-26 10:49:25.764000000 +0800
--- zlib_h6/configure 2022-08-26 10:49:16.912000000 +0800
***************
*** 88,93 ****
--- 88,94 ----
warn=0
debug=0
sanitize=0
+ inflatehook=0
old_cc="$CC"
old_cflags="$CFLAGS"
OBJC='$(OBJZ) $(OBJG)'
***************
*** 139,144 ****
--- 140,146 ----
-w* | --warn) warn=1; shift ;;
-d* | --debug) debug=1; shift ;;
--sanitize) sanitize=1; shift ;;
+ --inflatehook) inflatehook=1; shift ;;
*)
echo "unknown option: $1" | tee -a configure.log
echo "$0 --help for help" | tee -a configure.log
***************
*** 174,180 ****
--- 176,185 ----
else
cc=${CROSS_PREFIX}cc
fi
+ else
+ cc=${CC}
fi
+
cflags=${CFLAGS-"-O3"}
# to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
case "$cc" in
***************
*** 603,608 ****
--- 608,620 ----
echo "Using z_ prefix on all symbols." | tee -a configure.log
fi
+ if test $inflatehook -eq 1; then
+ sed < zconf.h "/#ifdef INFLATE_HOOK.* may be/s/def INFLATE_HOOK\(.*\) may be/ 1\1 was/" > zconf.temp.h
+ mv zconf.temp.h zconf.h
+ echo >> configure.log
+ echo "Using Z_INFLATE_HOOK" | tee -a configure.log
+ fi
+
# if --solo compilation was requested, save that in zconf.h and remove gz stuff from object lists
if test $solo -eq 1; then
sed '/#define ZCONF_H/a\
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/contrib/minizip/CMakeLists.txt zlib_h6/contrib/minizip/CMakeLists.txt
*** zlib/contrib/minizip/CMakeLists.txt 1970-01-01 08:00:00.000000000 +0800
--- zlib_h6/contrib/minizip/CMakeLists.txt 2022-08-26 10:49:16.916000000 +0800
***************
*** 0 ****
--- 1,48 ----
+ cmake_minimum_required(VERSION 2.4.4)
+ project(minizip C)
+
+ set(MINIZIP_HDS zip.h unzip.h ioapi.h mztools.h)
+ set(MINIZIP_SRCS zip.c unzip.c ioapi.c mztools.c)
+ set(MINIZ_SRCS zip.c ioapi.c minizip.c)
+ set(MINIUNZ_SRCS unzip.c ioapi.c miniunz.c)
+
+ # zlib
+ include_directories(${CMAKE_SOURCE_DIR}/../..)
+ add_subdirectory(${CMAKE_SOURCE_DIR}/../.. zlib_build)
+
+ # minizip library
+ include_directories(${zlib_BINARY_DIR})
+ add_library(minizshared SHARED ${MINIZIP_HDS} ${MINIZIP_SRCS})
+ add_library(minizstatic STATIC ${MINIZIP_HDS} ${MINIZIP_SRCS})
+ target_link_libraries(minizshared PRIVATE zlib)
+ target_link_libraries(minizstatic PRIVATE zlibstatic)
+ set_target_properties(minizshared minizstatic PROPERTIES OUTPUT_NAME miniz)
+
+ # minizip and miniunz
+ add_executable(minizip ${MINIZ_SRCS})
+ add_executable(miniunz ${MINIUNZ_SRCS})
+ target_link_libraries(minizip PRIVATE zlibstatic)
+ target_link_libraries(miniunz PRIVATE zlibstatic)
+
+ # test
+ macro(ADDTEST name)
+ add_executable(${name} tests/${name}.c)
+ target_include_directories(${name} PUBLIC ${CMAKE_SOURCE_DIR})
+ target_link_libraries(${name} PRIVATE minizshared PRIVATE zlib)
+ add_test(${name} ${name})
+ endmacro()
+ enable_testing()
+ ADDTEST(test_miniz_use)
+ ADDTEST(test_memory_func)
+ ADDTEST(test_custom_io)
+
+ # install
+ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
+ install(TARGETS minizshared minizstatic
+ RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin"
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" )
+ endif()
+ if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL )
+ install(FILES ${MINIZIP_HDS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include")
+ endif()
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/contrib/minizip/ioapi.c zlib_h6/contrib/minizip/ioapi.c
*** zlib/contrib/minizip/ioapi.c 2022-08-26 10:49:25.768000000 +0800
--- zlib_h6/contrib/minizip/ioapi.c 2022-08-26 10:49:16.916000000 +0800
***************
*** 94,102 ****
static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, int mode)
{
- (void)opaque;
FILE* file = NULL;
const char* mode_fopen = NULL;
if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
mode_fopen = "rb";
else
--- 94,102 ----
static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, int mode)
{
FILE* file = NULL;
const char* mode_fopen = NULL;
+ (void)opaque;
if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
mode_fopen = "rb";
else
***************
*** 113,121 ****
static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename, int mode)
{
- (void)opaque;
FILE* file = NULL;
const char* mode_fopen = NULL;
if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
mode_fopen = "rb";
else
--- 113,121 ----
static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename, int mode)
{
FILE* file = NULL;
const char* mode_fopen = NULL;
+ (void)opaque;
if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
mode_fopen = "rb";
else
***************
*** 133,156 ****
static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong size)
{
- (void)opaque;
uLong ret;
ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
return ret;
}
static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, const void* buf, uLong size)
{
- (void)opaque;
uLong ret;
ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
return ret;
}
static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
{
- (void)opaque;
long ret;
ret = ftell((FILE *)stream);
return ret;
}
--- 133,156 ----
static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong size)
{
uLong ret;
+ (void)opaque;
ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
return ret;
}
static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, const void* buf, uLong size)
{
uLong ret;
+ (void)opaque;
ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
return ret;
}
static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
{
long ret;
+ (void)opaque;
ret = ftell((FILE *)stream);
return ret;
}
***************
*** 158,174 ****
static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream)
{
- (void)opaque;
ZPOS64_T ret;
ret = (ZPOS64_T)FTELLO_FUNC((FILE *)stream);
return ret;
}
static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offset, int origin)
{
- (void)opaque;
int fseek_origin=0;
long ret;
switch (origin)
{
case ZLIB_FILEFUNC_SEEK_CUR :
--- 158,174 ----
static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream)
{
ZPOS64_T ret;
+ (void)opaque;
ret = (ZPOS64_T)FTELLO_FUNC((FILE *)stream);
return ret;
}
static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offset, int origin)
{
int fseek_origin=0;
long ret;
+ (void)opaque;
switch (origin)
{
case ZLIB_FILEFUNC_SEEK_CUR :
***************
*** 190,198 ****
static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)
{
- (void)opaque;
int fseek_origin=0;
long ret;
switch (origin)
{
case ZLIB_FILEFUNC_SEEK_CUR :
--- 190,198 ----
static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)
{
int fseek_origin=0;
long ret;
+ (void)opaque;
switch (origin)
{
case ZLIB_FILEFUNC_SEEK_CUR :
***************
*** 217,232 ****
static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream)
{
- (void)opaque;
int ret;
ret = fclose((FILE *)stream);
return ret;
}
static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream)
{
- (void)opaque;
int ret;
ret = ferror((FILE *)stream);
return ret;
}
--- 217,232 ----
static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream)
{
int ret;
+ (void)opaque;
ret = fclose((FILE *)stream);
return ret;
}
static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream)
{
int ret;
+ (void)opaque;
ret = ferror((FILE *)stream);
return ret;
}
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/contrib/minizip/Makefile zlib_h6/contrib/minizip/Makefile
*** zlib/contrib/minizip/Makefile 2022-08-26 10:49:25.768000000 +0800
--- zlib_h6/contrib/minizip/Makefile 2022-08-26 10:49:16.916000000 +0800
***************
*** 1,13 ****
! CC=cc
! CFLAGS := $(CFLAGS) -O -I../..
UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a
ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a
.c.o:
$(CC) -c $(CFLAGS) $*.c
! all: miniunz minizip
miniunz: $(UNZ_OBJS)
$(CC) $(CFLAGS) -o $@ $(UNZ_OBJS)
--- 1,25 ----
! CC ?= cc
! CFLAGS:=$(CFLAGS) -O -I../..
! SHARED_FLAGS:=-shared -fPIC
! LDFLAGS=-L../../ -lz
! AR ?= ar
! ARFLAGS=rcs
!
UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a
ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a
+ SHARED_OBJS = zip.lo unzip.lo ioapi.lo mztools.lo
+ STATIC_OBJS = zip.o unzip.o ioapi.o mztools.o
+
+
.c.o:
$(CC) -c $(CFLAGS) $*.c
! %lo: %c
! $(CC) -c $(CFLAGS) $(SHARED_FLAGS) -o $@ $<
!
! all: libminiz.so libminiz.a miniunz minizip
miniunz: $(UNZ_OBJS)
$(CC) $(CFLAGS) -o $@ $(UNZ_OBJS)
***************
*** 15,21 ****
minizip: $(ZIP_OBJS)
$(CC) $(CFLAGS) -o $@ $(ZIP_OBJS)
! test: miniunz minizip
@rm -f test.*
@echo hello hello hello > test.txt
./minizip test test.txt
--- 27,57 ----
minizip: $(ZIP_OBJS)
$(CC) $(CFLAGS) -o $@ $(ZIP_OBJS)
! libminiz.so: $(SHARED_OBJS)
! $(CC) $(LDFLAGS) $(SHARED_FLAGS) $^ -o $@
!
! libminiz.a: $(STATIC_OBJS)
! $(AR) $(ARFLAGS) $@ $^
!
! test_custom_io: test_custom_io.o libminiz.so
! $(CC) -o $@ $< -L. -lminiz -L../../ -lz
!
! test_memory_func: test_memory_func.o libminiz.so
! $(CC) -o $@ $< -L. -lminiz -L../../ -lz
!
! test_miniz_use: test_miniz_use.o libminiz.so
! $(CC) -o $@ $< -L. -lminiz -L../../ -lz
!
! test_custom_io.o: tests/test_custom_io.c
! $(CC) -c -g -I. -o $@ $^
!
! test_memory_func.o: tests/test_memory_func.c
! $(CC) -c -g -I. -o $@ $^
!
! test_miniz_use.o: tests/test_miniz_use.c
! $(CC) -c -g -I. -o $@ $^
!
! test: miniunz minizip test_custom_io test_memory_func test_miniz_use
@rm -f test.*
@echo hello hello hello > test.txt
./minizip test test.txt
***************
*** 23,29 ****
@mv test.txt test.old
./miniunz test.zip
@cmp test.txt test.old
@rm -f test.*
!
clean:
! /bin/rm -f *.o *~ minizip miniunz test.*
--- 59,68 ----
@mv test.txt test.old
./miniunz test.zip
@cmp test.txt test.old
+ @./test_miniz_use
+ @./test_memory_func
+ @./test_custom_io
@rm -f test.*
!
clean:
! /bin/rm -f *.o *.lo *~ minizip miniunz libminiz.so libminiz.a test.* test_*
\ No newline at end of file
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/contrib/minizip/miniunz.c zlib_h6/contrib/minizip/miniunz.c
*** zlib/contrib/minizip/miniunz.c 2022-08-26 10:49:25.772000000 +0800
--- zlib_h6/contrib/minizip/miniunz.c 2022-08-26 10:49:16.916000000 +0800
***************
*** 656,659 ****
unzClose(uf);
return ret_value;
! }
--- 656,659 ----
unzClose(uf);
return ret_value;
! }
\ No newline at end of file
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/contrib/minizip/tests/test_custom_io.c zlib_h6/contrib/minizip/tests/test_custom_io.c
*** zlib/contrib/minizip/tests/test_custom_io.c 1970-01-01 08:00:00.000000000 +0800
--- zlib_h6/contrib/minizip/tests/test_custom_io.c 2022-08-26 10:49:16.916000000 +0800
***************
*** 0 ****
--- 1,154 ----
+ /*
+ test_miniz_use.c 测试miniz库的定制io功能
+ */
+ #include <stdio.h>
+ #include <string.h>
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+
+ #include "zip.h"
+ #include "unzip.h"
+
+
+
+ #define TEST_STRING "hello hello minizip."
+ #define TEST_STRING_SIZE 20
+ #define TEST_FILENAME "custom_io.txt"
+ #define TEST_ZIP_FILENAME "test.zip"
+
+ #define CHECK_ERROR(ret) { if (ret != ZIP_OK) { return ret; } }
+ #define CHECK_RESULT(ret, v) { if (ret != v) { return ret; } }
+
+ // custom io function
+ voidpf custom_fopen(voidpf opaque, const char* filename, int mode)
+ {
+ int file = -1;
+ int mode_fopen = -1;
+ if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER) == ZLIB_FILEFUNC_MODE_READ) {
+ mode_fopen = O_RDONLY;
+ }
+ else if (mode & ZLIB_FILEFUNC_MODE_EXISTING) {
+ mode_fopen = O_RDWR;
+ }
+ else if (mode & ZLIB_FILEFUNC_MODE_CREATE) {
+ mode_fopen = O_WRONLY | O_CREAT;
+ }
+ if ((filename != NULL) && (mode_fopen != -1)) {
+ file = open(filename, mode_fopen, 0);
+ }
+ return (voidpf)(size_t)file;
+ }
+
+ uLong custom_fread(voidpf opaque, voidpf stream, void* buf, uLong size)
+ {
+ return read((int)(size_t)stream, buf, size);
+ }
+
+ uLong custom_fwrite(voidpf opaque, voidpf stream, const void* buf, uLong size)
+ {
+ return write((int)(size_t)stream, buf, size);
+ }
+
+ int custom_fclose(voidpf opaque, voidpf stream)
+ {
+ return close((int)(size_t)stream);
+ }
+
+ int custom_ferror(voidpf opaque, voidpf stream)
+ {
+ return 0;
+ }
+
+ long custom_fseek(voidpf opaque, voidpf stream, uLong offset, int origin)
+ {
+ int fseek_origin = 0;
+ switch (origin)
+ {
+ case ZLIB_FILEFUNC_SEEK_CUR :
+ fseek_origin = SEEK_CUR;
+ break;
+ case ZLIB_FILEFUNC_SEEK_END :
+ fseek_origin = SEEK_END;
+ break;
+ case ZLIB_FILEFUNC_SEEK_SET :
+ fseek_origin = SEEK_SET;
+ break;
+ default: return -1;
+ }
+
+ long ret = lseek((int)(size_t)stream, (off_t)offset, fseek_origin);
+ if (ret != -1) {
+ ret = 0;
+ }
+ return ret;
+ }
+
+ long custom_ftell(voidpf opaque, voidpf stream)
+ {
+ return (long)lseek((int)(size_t)stream, (off_t)0, SEEK_CUR);
+ }
+
+ int test()
+ {
+ int ret = ZIP_OK;
+
+ // init custom io function
+ zlib_filefunc_def filefunc;
+ filefunc.zopen_file = custom_fopen;
+ filefunc.zread_file = custom_fread;
+ filefunc.zwrite_file = custom_fwrite;
+ filefunc.ztell_file = custom_ftell;
+ filefunc.zseek_file = custom_fseek;
+ filefunc.zclose_file = custom_fclose;
+ filefunc.zerror_file = custom_ferror;
+ filefunc.opaque = NULL;
+
+
+ // zip
+ zip_fileinfo zi;
+ memset(&zi, 0, sizeof(zip_fileinfo));
+ zipFile zfd = zipOpen2(TEST_ZIP_FILENAME, 0, NULL, &filefunc);
+ ret = zipOpenNewFileInZip(zfd, TEST_FILENAME, &zi, NULL, 0, NULL, 0, NULL, Z_DEFLATED, 9);
+ CHECK_ERROR(ret);
+ ret = zipWriteInFileInZip(zfd, TEST_STRING, TEST_STRING_SIZE);
+ CHECK_ERROR(ret);
+ ret = zipCloseFileInZip(zfd);
+ CHECK_ERROR(ret);
+ ret = zipClose(zfd, NULL);
+ CHECK_ERROR(ret);
+
+ // unzip
+ char buffer[TEST_STRING_SIZE + 1];
+ buffer[TEST_STRING_SIZE] = '\0';
+ unzFile unzfd = unzOpen2(TEST_ZIP_FILENAME, &filefunc);
+ ret = unzLocateFile(unzfd, TEST_FILENAME, 1);
+ CHECK_ERROR(ret);
+ ret = unzOpenCurrentFile(unzfd);
+ CHECK_ERROR(ret);
+ ret = unzReadCurrentFile(unzfd, (char *)buffer, TEST_STRING_SIZE);
+ CHECK_RESULT(ret, TEST_STRING_SIZE);
+ ret = unzCloseCurrentFile(unzfd);
+ CHECK_ERROR(ret);
+ ret = unzClose(unzfd);
+ CHECK_ERROR(ret);
+
+ // check result
+ if (strcmp(TEST_STRING, buffer) != 0) {
+ return -1;
+ }
+ return 0;
+ }
+
+ int main(int argc, char* argv[])
+ {
+ int ret = test();
+ if (ret == 0) {
+ printf("success - test_custom_io\n");
+ } else {
+ printf("fail - test_custom_io\n");
+ }
+ return ret;
+ }
\ No newline at end of file
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/contrib/minizip/tests/test_memory_func.c zlib_h6/contrib/minizip/tests/test_memory_func.c
*** zlib/contrib/minizip/tests/test_memory_func.c 1970-01-01 08:00:00.000000000 +0800
--- zlib_h6/contrib/minizip/tests/test_memory_func.c 2022-08-26 10:49:16.920000000 +0800
***************
*** 0 ****
--- 1,80 ----
+ /*
+ test_miniz_use.c 测试miniz库的setUnzipMemoryFunc和setZipMemoryFunc接口
+ */
+
+ #include <stdlib.h>
+ #include <string.h>
+ #include "zip.h"
+ #include "unzip.h"
+
+
+
+ #define TEST_STRING "hello hello minizip."
+ #define TEST_STRING_SIZE 20
+ #define TEST_FILENAME "memory_func.txt"
+ #define TEST_ZIP_FILENAME "test.zip"
+
+ #define CHECK_ERROR(ret) { if (ret != ZIP_OK) { return ret; } }
+ #define CHECK_RESULT(ret, v) { if (ret != v) { return ret; } }
+
+ voidp custom_malloc(size_t size)
+ {
+ return malloc(size);
+ }
+
+ void custom_free(voidp address)
+ {
+ free(address);
+ }
+
+ int test()
+ {
+ int ret = ZIP_OK;
+
+ // zip
+ zip_fileinfo zi;
+ memset(&zi, 0, sizeof(zip_fileinfo));
+ setZipMemoryFunc(custom_malloc, custom_free);
+ zipFile zfd = zipOpen(TEST_ZIP_FILENAME, 0);
+ ret = zipOpenNewFileInZip(zfd, TEST_FILENAME, &zi, NULL, 0, NULL, 0, NULL, Z_DEFLATED, 9);
+ CHECK_ERROR(ret);
+ ret = zipWriteInFileInZip(zfd, TEST_STRING, TEST_STRING_SIZE);
+ CHECK_ERROR(ret);
+ ret = zipCloseFileInZip(zfd);
+ CHECK_ERROR(ret);
+ ret = zipClose(zfd, NULL);
+ CHECK_ERROR(ret);
+
+ // unzip
+ char buffer[TEST_STRING_SIZE + 1];
+ buffer[TEST_STRING_SIZE] = '\0';
+ setUnzipMemoryFunc(custom_malloc, custom_free);
+ unzFile unzfd = unzOpen(TEST_ZIP_FILENAME);
+ ret = unzLocateFile(unzfd, TEST_FILENAME, 1);
+ CHECK_ERROR(ret);
+ ret = unzOpenCurrentFile(unzfd);
+ CHECK_ERROR(ret);
+ ret = unzReadCurrentFile(unzfd, (char *)buffer, TEST_STRING_SIZE);
+ CHECK_RESULT(ret, TEST_STRING_SIZE);
+ ret = unzCloseCurrentFile(unzfd);
+ CHECK_ERROR(ret);
+ ret = unzClose(unzfd);
+ CHECK_ERROR(ret);
+
+ // check result
+ if (strcmp(TEST_STRING, buffer) != 0) {
+ return -1;
+ }
+ return 0;
+ }
+
+ int main(int argc, char* argv[])
+ {
+ int ret = test();
+ if (ret == 0) {
+ printf("success - test_memory_func.\n");
+ } else {
+ printf("fail - test_memory_func.\n");
+ }
+ return ret;
+ }
\ No newline at end of file
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/contrib/minizip/tests/test_miniz_use.c zlib_h6/contrib/minizip/tests/test_miniz_use.c
*** zlib/contrib/minizip/tests/test_miniz_use.c 1970-01-01 08:00:00.000000000 +0800
--- zlib_h6/contrib/minizip/tests/test_miniz_use.c 2022-08-26 10:49:16.920000000 +0800
***************
*** 0 ****
--- 1,100 ----
+ /*
+ test_miniz_use.c 测试miniz库一般使用
+ */
+
+ #include <sys/types.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include "zip.h"
+ #include "unzip.h"
+
+
+
+ #define TEST_STRING "hello hello minizip."
+ #define TEST_STRING_SIZE 20
+ #define TEST_FILENAME "miniz_use.txt"
+
+ #define TEST_STRING2 "hello hello minizip append mode."
+ #define TEST_STRING_SIZE2 32
+ #define TEST_FILENAME2 "miniz_use2.txt"
+
+ #define TEST_ZIP_FILENAME "test.zip"
+
+ #define CHECK_ERROR(ret) { if (ret != ZIP_OK) { return ret; } }
+ #define CHECK_RESULT(ret, v) { if (ret != v) { return ret; } }
+
+ int test()
+ {
+ int ret = ZIP_OK;
+
+ // zip create new file
+ zip_fileinfo zi;
+ memset(&zi, 0, sizeof(zip_fileinfo));
+ zipFile zfd = zipOpen(TEST_ZIP_FILENAME, APPEND_STATUS_CREATE);
+ ret = zipOpenNewFileInZip(zfd, TEST_FILENAME, &zi, NULL, 0, NULL, 0, NULL, Z_DEFLATED, 9);
+ CHECK_ERROR(ret);
+ ret = zipWriteInFileInZip(zfd, TEST_STRING, TEST_STRING_SIZE);
+ CHECK_ERROR(ret);
+ ret = zipCloseFileInZip(zfd);
+ CHECK_ERROR(ret);
+ ret = zipClose(zfd, NULL);
+ CHECK_ERROR(ret);
+
+ // zip append to exist file
+ memset(&zi, 0, sizeof(zip_fileinfo));
+ zfd = zipOpen(TEST_ZIP_FILENAME, APPEND_STATUS_ADDINZIP);
+ ret = zipOpenNewFileInZip(zfd, TEST_FILENAME2, &zi, NULL, 0, NULL, 0, NULL, Z_DEFLATED, 9);
+ CHECK_ERROR(ret);
+ ret = zipWriteInFileInZip(zfd, TEST_STRING2, TEST_STRING_SIZE2);
+ CHECK_ERROR(ret);
+ ret = zipCloseFileInZip(zfd);
+ CHECK_ERROR(ret);
+ ret = zipClose(zfd, NULL);
+ CHECK_ERROR(ret);
+
+ // unzip
+ unzFile unzfd = unzOpen(TEST_ZIP_FILENAME);
+ char buffer[TEST_STRING_SIZE + 1];
+ buffer[TEST_STRING_SIZE] = '\0';
+ ret = unzLocateFile(unzfd, TEST_FILENAME, 1);
+ CHECK_ERROR(ret);
+ ret = unzOpenCurrentFile(unzfd);
+ CHECK_ERROR(ret);
+ ret = unzReadCurrentFile(unzfd, (char *)buffer, TEST_STRING_SIZE);
+ CHECK_RESULT(ret, TEST_STRING_SIZE);
+ ret = unzCloseCurrentFile(unzfd);
+ CHECK_ERROR(ret);
+
+ char buffer2[TEST_STRING_SIZE2 + 1];
+ buffer2[TEST_STRING_SIZE2] = '\0';
+ ret = unzLocateFile(unzfd, TEST_FILENAME2, 1);
+ CHECK_ERROR(ret);
+ ret = unzOpenCurrentFile(unzfd);
+ CHECK_ERROR(ret);
+ ret = unzReadCurrentFile(unzfd, (char *)buffer2, TEST_STRING_SIZE2);
+ CHECK_RESULT(ret, TEST_STRING_SIZE2);
+ ret = unzCloseCurrentFile(unzfd);
+ CHECK_ERROR(ret);
+ ret = unzClose(unzfd);
+ CHECK_ERROR(ret);
+
+ // check result
+ if (strcmp(TEST_STRING, buffer) != 0) {
+ return -1;
+ }
+ if (strcmp(TEST_STRING2, buffer2) != 0) {
+ return -1;
+ }
+ return 0;
+ }
+
+ int main(int argc, char* argv[])
+ {
+ int ret = test();
+ if (ret == 0) {
+ printf("success - test_miniz_use.\n");
+ } else {
+ printf("fail - test_miniz_use.\n");
+ }
+ return ret;
+ }
\ No newline at end of file
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/contrib/minizip/unzip.c zlib_h6/contrib/minizip/unzip.c
*** zlib/contrib/minizip/unzip.c 2022-08-26 10:49:25.772000000 +0800
--- zlib_h6/contrib/minizip/unzip.c 2022-08-26 10:49:16.920000000 +0800
***************
*** 108,118 ****
#define UNZ_MAXFILENAMEINZIP (256)
#endif
#ifndef ALLOC
! # define ALLOC(size) (malloc(size))
#endif
#ifndef TRYFREE
! # define TRYFREE(p) {if (p) free(p);}
#endif
#define SIZECENTRALDIRITEM (0x2e)
--- 108,121 ----
#define UNZ_MAXFILENAMEINZIP (256)
#endif
+ local unzip_malloc_func unzmallocfunc = malloc;
+ local unzip_free_func unzfreefunc = free;
+
#ifndef ALLOC
! # define ALLOC(size) (unzmallocfunc(size))
#endif
#ifndef TRYFREE
! # define TRYFREE(p) {if (p) unzfreefunc(p);}
#endif
#define SIZECENTRALDIRITEM (0x2e)
***************
*** 2126,2128 ****
--- 2129,2137 ----
{
return unzSetOffset64(file,pos);
}
+
+ extern void ZEXPORT setUnzipMemoryFunc (unzip_malloc_func mallocfunc, unzip_free_func freefunc)
+ {
+ unzmallocfunc = mallocfunc;
+ unzfreefunc = freefunc;
+ }
\ No newline at end of file
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/contrib/minizip/unzip.h zlib_h6/contrib/minizip/unzip.h
*** zlib/contrib/minizip/unzip.h 2022-08-26 10:49:25.772000000 +0800
--- zlib_h6/contrib/minizip/unzip.h 2022-08-26 10:49:16.920000000 +0800
***************
*** 430,435 ****
--- 430,440 ----
+ /* set customised mallo/free functions */
+ typedef voidp (*unzip_malloc_func) OF((size_t size));
+ typedef void (*unzip_free_func) OF((voidp address));
+ extern void ZEXPORT setUnzipMemoryFunc OF((unzip_malloc_func mallocfunc, unzip_free_func freefunc));
+
#ifdef __cplusplus
}
#endif
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/contrib/minizip/zip.c zlib_h6/contrib/minizip/zip.c
*** zlib/contrib/minizip/zip.c 2022-08-26 10:49:25.772000000 +0800
--- zlib_h6/contrib/minizip/zip.c 2022-08-26 10:49:16.920000000 +0800
***************
*** 58,68 ****
#define Z_MAXFILENAMEINZIP (256)
#endif
#ifndef ALLOC
! # define ALLOC(size) (malloc(size))
#endif
#ifndef TRYFREE
! # define TRYFREE(p) {if (p) free(p);}
#endif
/*
--- 58,71 ----
#define Z_MAXFILENAMEINZIP (256)
#endif
+ local zip_malloc_func zipmallocfunc = malloc;
+ local zip_free_func zipfreefunc = free;
+
#ifndef ALLOC
! # define ALLOC(size) (zipmallocfunc(size))
#endif
#ifndef TRYFREE
! # define TRYFREE(p) {if (p) zipfreefunc(p);}
#endif
/*
***************
*** 848,919 ****
/************************************************************/
extern zipFile ZEXPORT zipOpen3 (const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_32_def* pzlib_filefunc64_32_def)
{
! zip64_internal ziinit;
! zip64_internal* zi;
int err=ZIP_OK;
! ziinit.z_filefunc.zseek32_file = NULL;
! ziinit.z_filefunc.ztell32_file = NULL;
if (pzlib_filefunc64_32_def==NULL)
! fill_fopen64_filefunc(&ziinit.z_filefunc.zfile_func64);
else
! ziinit.z_filefunc = *pzlib_filefunc64_32_def;
! ziinit.filestream = ZOPEN64(ziinit.z_filefunc,
pathname,
(append == APPEND_STATUS_CREATE) ?
(ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE) :
(ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING));
! if (ziinit.filestream == NULL)
return NULL;
if (append == APPEND_STATUS_CREATEAFTER)
! ZSEEK64(ziinit.z_filefunc,ziinit.filestream,0,SEEK_END);
! ziinit.begin_pos = ZTELL64(ziinit.z_filefunc,ziinit.filestream);
! ziinit.in_opened_file_inzip = 0;
! ziinit.ci.stream_initialised = 0;
! ziinit.number_entry = 0;
! ziinit.add_position_when_writing_offset = 0;
! init_linkedlist(&(ziinit.central_dir));
-
- zi = (zip64_internal*)ALLOC(sizeof(zip64_internal));
- if (zi==NULL)
- {
- ZCLOSE64(ziinit.z_filefunc,ziinit.filestream);
- return NULL;
- }
-
/* now we add file in a zipfile */
# ifndef NO_ADDFILEINEXISTINGZIP
! ziinit.globalcomment = NULL;
if (append == APPEND_STATUS_ADDINZIP)
{
// Read and Cache Central Directory Records
! err = LoadCentralDirectoryRecord(&ziinit);
}
if (globalcomment)
{
! *globalcomment = ziinit.globalcomment;
}
# endif /* !NO_ADDFILEINEXISTINGZIP*/
if (err != ZIP_OK)
{
# ifndef NO_ADDFILEINEXISTINGZIP
! TRYFREE(ziinit.globalcomment);
# endif /* !NO_ADDFILEINEXISTINGZIP*/
! TRYFREE(zi);
return NULL;
}
else
{
! *zi = ziinit;
! return (zipFile)zi;
}
}
--- 851,921 ----
/************************************************************/
extern zipFile ZEXPORT zipOpen3 (const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_32_def* pzlib_filefunc64_32_def)
{
! zip64_internal *p_ziinit = NULL;
int err=ZIP_OK;
! p_ziinit = (zip64_internal*)ALLOC(sizeof(zip64_internal));
! if (p_ziinit==NULL)
! {
! return NULL;
! }
!
! p_ziinit->z_filefunc.zseek32_file = NULL;
! p_ziinit->z_filefunc.ztell32_file = NULL;
if (pzlib_filefunc64_32_def==NULL)
! fill_fopen64_filefunc(&p_ziinit->z_filefunc.zfile_func64);
else
! p_ziinit->z_filefunc = *pzlib_filefunc64_32_def;
! p_ziinit->filestream = ZOPEN64(p_ziinit->z_filefunc,
pathname,
(append == APPEND_STATUS_CREATE) ?
(ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE) :
(ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING));
! if (p_ziinit->filestream == NULL)
! {
! TRYFREE(p_ziinit);
return NULL;
+ }
if (append == APPEND_STATUS_CREATEAFTER)
! ZSEEK64(p_ziinit->z_filefunc,p_ziinit->filestream,0,SEEK_END);
! p_ziinit->begin_pos = ZTELL64(p_ziinit->z_filefunc,p_ziinit->filestream);
! p_ziinit->in_opened_file_inzip = 0;
! p_ziinit->ci.stream_initialised = 0;
! p_ziinit->number_entry = 0;
! p_ziinit->add_position_when_writing_offset = 0;
! init_linkedlist(&(p_ziinit->central_dir));
/* now we add file in a zipfile */
# ifndef NO_ADDFILEINEXISTINGZIP
! p_ziinit->globalcomment = NULL;
if (append == APPEND_STATUS_ADDINZIP)
{
// Read and Cache Central Directory Records
! err = LoadCentralDirectoryRecord(p_ziinit);
}
if (globalcomment)
{
! *globalcomment = p_ziinit->globalcomment;
}
# endif /* !NO_ADDFILEINEXISTINGZIP*/
if (err != ZIP_OK)
{
# ifndef NO_ADDFILEINEXISTINGZIP
! TRYFREE(p_ziinit->globalcomment);
# endif /* !NO_ADDFILEINEXISTINGZIP*/
! TRYFREE(p_ziinit);
return NULL;
}
else
{
! return (zipFile)p_ziinit;
}
}
***************
*** 1697,1703 ****
if (err==ZIP_OK)
err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader);
! free(zi->ci.central_header);
if (err==ZIP_OK)
{
--- 1699,1705 ----
if (err==ZIP_OK)
err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader);
! TRYFREE(zi->ci.central_header);
if (err==ZIP_OK)
{
***************
*** 2005,2007 ****
--- 2007,2015 ----
return retVal;
}
+
+ extern void ZEXPORT setZipMemoryFunc (zip_malloc_func mallocfunc, zip_free_func freefunc)
+ {
+ zipmallocfunc = mallocfunc;
+ zipfreefunc = freefunc;
+ }
\ No newline at end of file
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/contrib/minizip/zip.h zlib_h6/contrib/minizip/zip.h
*** zlib/contrib/minizip/zip.h 2022-08-26 10:49:25.772000000 +0800
--- zlib_h6/contrib/minizip/zip.h 2022-08-26 10:49:16.920000000 +0800
***************
*** 360,365 ****
--- 360,373 ----
zipRemoveExtraInfoBlock(pLocalHeaderExtraFieldData, &nLocalHeaderExtraFieldDataLen, 0x0001);
*/
+
+ typedef voidp (*zip_malloc_func) OF((size_t size));
+ typedef void (*zip_free_func) OF((voidp address));
+ extern void ZEXPORT setZipMemoryFunc OF((zip_malloc_func mfunc, zip_free_func ffunc));
+ /*
+ set customised mallo/free functions
+ */
+
#ifdef __cplusplus
}
#endif
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/crc32.c zlib_h6/crc32.c
*** zlib/crc32.c 2022-08-26 10:49:25.776000000 +0800
--- zlib_h6/crc32.c 2022-08-26 10:49:16.924000000 +0800
***************
*** 101,106 ****
--- 101,109 ----
/* Local functions. */
local z_crc_t multmodp OF((z_crc_t a, z_crc_t b));
local z_crc_t x2nmodp OF((z_off64_t n, unsigned k));
+ local z_word_t byte_swap OF((z_word_t word));
+ local z_crc_t crc_word OF((z_word_t data));
+ local z_word_t crc_word_big OF((z_word_t data));
/* If available, use the ARM processor CRC32 instruction. */
#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) && W == 8
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/inflate.c zlib_h6/inflate.c
*** zlib/inflate.c 2022-08-26 10:49:25.788000000 +0800
--- zlib_h6/inflate.c 2022-08-26 10:49:16.936000000 +0800
***************
*** 101,106 ****
--- 101,114 ----
#endif
local unsigned syncsearch OF((unsigned FAR *have, const unsigned char FAR *buf,
unsigned len));
+
+ #ifdef Z_INFLATE_HOOK
+ local inflate_hook_func z_InflateTaskHook = Z_NULL;
+ void ZEXPORT inflateHookFuncRegister(inflate_hook_func func)
+ {
+ z_InflateTaskHook = func;
+ }
+ #endif
local int inflateStateCheck(strm)
z_streamp strm;
***************
*** 653,659 ****
in = have;
out = left;
ret = Z_OK;
! for (;;)
switch (state->mode) {
case HEAD:
if (state->wrap == 0) {
--- 661,672 ----
in = have;
out = left;
ret = Z_OK;
! for (;;) {
! #ifdef Z_INFLATE_HOOK
! if (z_InflateTaskHook != Z_NULL) {
! z_InflateTaskHook();
! }
! #endif
switch (state->mode) {
case HEAD:
if (state->wrap == 0) {
***************
*** 1267,1272 ****
--- 1280,1286 ----
default:
return Z_STREAM_ERROR;
}
+ }
/*
Return from inflate(), updating the total counts and the check value.
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/zconf.h zlib_h6/zconf.h
*** zlib/zconf.h 2022-08-26 10:49:25.792000000 +0800
--- zlib_h6/zconf.h 2022-08-26 10:49:16.940000000 +0800
***************
*** 8,13 ****
--- 8,17 ----
#ifndef ZCONF_H
#define ZCONF_H
+ #ifdef INFLATE_HOOK /* may be set to # if 1 by ./configure --inflatehook */
+ #define Z_INFLATE_HOOK
+ #endif
+
/*
* If you *really* need a unique prefix for all types and library functions,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
***************
*** 125,130 ****
--- 129,137 ----
# define inflate_copyright z_inflate_copyright
# define inflate_fast z_inflate_fast
# define inflate_table z_inflate_table
+ # ifdef Z_INFLATE_HOOK
+ # define inflateHookFuncRegister z_inflateHookFuncRegister
+ # endif
# ifndef Z_SOLO
# define uncompress z_uncompress
# define uncompress2 z_uncompress2
***************
*** 163,168 ****
--- 170,177 ----
# define gz_header_s z_gz_header_s
# define internal_state z_internal_state
+ /* variable from zutil.h */
+ # define z_errmsg z_z_errmsg
#endif
#if defined(__MSDOS__) && !defined(MSDOS)
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/zconf.h.cmakein zlib_h6/zconf.h.cmakein
*** zlib/zconf.h.cmakein 2022-08-26 10:49:25.792000000 +0800
--- zlib_h6/zconf.h.cmakein 2022-08-26 10:49:16.940000000 +0800
***************
*** 9,14 ****
--- 9,15 ----
#define ZCONF_H
#cmakedefine Z_PREFIX
#cmakedefine Z_HAVE_UNISTD_H
+ #cmakedefine Z_INFLATE_HOOK
/*
* If you *really* need a unique prefix for all types and library functions,
***************
*** 127,132 ****
--- 128,136 ----
# define inflate_copyright z_inflate_copyright
# define inflate_fast z_inflate_fast
# define inflate_table z_inflate_table
+ # ifdef Z_INFLATE_HOOK
+ # define inflateHookFuncRegister z_inflateHookFuncRegister
+ # endif
# ifndef Z_SOLO
# define uncompress z_uncompress
# define uncompress2 z_uncompress2
***************
*** 165,170 ****
--- 169,176 ----
# define gz_header_s z_gz_header_s
# define internal_state z_internal_state
+ /* variable from zutil.h */
+ # define z_errmsg z_z_errmsg
#endif
#if defined(__MSDOS__) && !defined(MSDOS)
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/zconf.h.in zlib_h6/zconf.h.in
*** zlib/zconf.h.in 2022-08-26 10:49:25.792000000 +0800
--- zlib_h6/zconf.h.in 2022-08-26 10:49:16.940000000 +0800
***************
*** 8,13 ****
--- 8,17 ----
#ifndef ZCONF_H
#define ZCONF_H
+ #ifdef INFLATE_HOOK /* may be set to # if 1 by ./configure --inflatehook */
+ #define Z_INFLATE_HOOK
+ #endif
+
/*
* If you *really* need a unique prefix for all types and library functions,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
***************
*** 125,130 ****
--- 129,137 ----
# define inflate_copyright z_inflate_copyright
# define inflate_fast z_inflate_fast
# define inflate_table z_inflate_table
+ # ifdef Z_INFLATE_HOOK
+ # define inflateHookFuncRegister z_inflateHookFuncRegister
+ # endif
# ifndef Z_SOLO
# define uncompress z_uncompress
# define uncompress2 z_uncompress2
***************
*** 163,168 ****
--- 170,177 ----
# define gz_header_s z_gz_header_s
# define internal_state z_internal_state
+ /* variable from zutil.h */
+ # define z_errmsg z_z_errmsg
#endif
#if defined(__MSDOS__) && !defined(MSDOS)
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/zlib.h zlib_h6/zlib.h
*** zlib/zlib.h 2022-08-26 10:49:25.796000000 +0800
--- zlib_h6/zlib.h 2022-08-26 10:49:16.940000000 +0800
***************
*** 217,222 ****
--- 217,227 ----
/* basic functions */
+ #ifdef Z_INFLATE_HOOK
+ typedef void (*inflate_hook_func)(void);
+ ZEXTERN void ZEXPORT inflateHookFuncRegister(inflate_hook_func func);
+ #endif
+
ZEXTERN const char * ZEXPORT zlibVersion OF((void));
/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
If the first character differs, the library code actually used is not
diff -crN '--exclude=.git' '--exclude=.gitee' '--exclude=.vscode' zlib/zutil.h zlib_h6/zutil.h
*** zlib/zutil.h 2022-08-26 10:49:25.796000000 +0800
--- zlib_h6/zutil.h 2022-08-26 10:49:16.940000000 +0800
***************
*** 193,198 ****
--- 193,199 ----
(!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
+ ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off_t));
#endif
/* common defaults */
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。