Update libraries (#971)

- update fmt to 10.2.1
- update minizip-ng to 4.0.7
- properly link to zlib
- replace the only re2 usage with std::regex
This commit is contained in:
ConfiG 2024-06-25 20:13:47 +03:00 committed by GitHub
parent 2a4b17b9b7
commit 621e3f557c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 2514 additions and 2065 deletions

View file

@ -210,7 +210,7 @@ endif()
set(MAT_JSON_AS_INTERFACE ON) set(MAT_JSON_AS_INTERFACE ON)
CPMAddPackage("gh:geode-sdk/json#3a79c51") CPMAddPackage("gh:geode-sdk/json#3a79c51")
CPMAddPackage("gh:fmtlib/fmt#10.1.1") CPMAddPackage("gh:fmtlib/fmt#10.2.1")
target_compile_definitions(${PROJECT_NAME} INTERFACE MAT_JSON_DYNAMIC=1) target_compile_definitions(${PROJECT_NAME} INTERFACE MAT_JSON_DYNAMIC=1)

View file

@ -241,19 +241,17 @@ if (NOT GEODE_BUILDING_DOCS)
CPMAddPackage("gh:mity/md4c#release-0.5.2") CPMAddPackage("gh:mity/md4c#release-0.5.2")
# Zip support (needed for in-memory streams, which zlib's minizip doesn't support) # Zip support (needed for in-memory streams, which zlib's minizip doesn't support)
set(MZ_LZMA Off CACHE INTERNAL "Enables LZMA & XZ compression") set(MZ_LZMA OFF CACHE INTERNAL "")
set(MZ_ZSTD Off CACHE INTERNAL "") set(MZ_ZSTD OFF CACHE INTERNAL "")
set(MZ_BZIP2 Off CACHE INTERNAL "") set(MZ_BZIP2 OFF CACHE INTERNAL "")
set(MZ_OPENSSL Off CACHE INTERNAL "") set(MZ_OPENSSL OFF CACHE INTERNAL "")
set(MZ_LIBBSD Off CACHE INTERNAL "") set(MZ_LIBBSD OFF CACHE INTERNAL "")
set(SKIP_INSTALL_ALL On CACHE INTERNAL "") set(MZ_FETCH_LIBS ON CACHE INTERNAL "")
set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "" FORCE) set(SKIP_INSTALL_ALL ON CACHE INTERNAL "")
CPMAddPackage( CPMAddPackage("gh:geode-sdk/minizip-ng#83a786f")
GITHUB_REPOSITORY zlib-ng/minizip-ng if (WIN32)
GIT_TAG cee6d8c set_target_properties(zlib PROPERTIES SUFFIX "1.dll")
OPTIONS "CMAKE_POLICY_DEFAULT_CMP0048 OLD" "ZLIB_TAG v1.2.13" endif()
)
set(CMAKE_WARN_DEPRECATED ON CACHE BOOL "" FORCE)
# Silence warnings from dependencies # Silence warnings from dependencies
include(CheckCXXCompilerFlag) include(CheckCXXCompilerFlag)
@ -266,19 +264,19 @@ if (NOT GEODE_BUILDING_DOCS)
target_compile_options(zlib PRIVATE -Wno-everything) target_compile_options(zlib PRIVATE -Wno-everything)
endif() endif()
if (TARGET zlibstatic) if (TARGET zlibstatic)
target_compile_options(zlibstatic PRIVATE -Wno-everything) get_property(zlibstatic_ALIASED TARGET zlibstatic PROPERTY ALIASED_TARGET)
if ("${zlibstatic_ALIASED}" STREQUAL "")
target_compile_options(zlibstatic PRIVATE -Wno-everything)
endif()
endif() endif()
endif() endif()
# Regex support
CPMAddPackage("gh:google/re2#c9cba76")
# Cool date library # Cool date library
CPMAddPackage("gh:HowardHinnant/date#1ead671") CPMAddPackage("gh:HowardHinnant/date#1ead671")
target_include_directories(${PROJECT_NAME} PRIVATE ${md4c_SOURCE_DIR}/src) target_include_directories(${PROJECT_NAME} PRIVATE ${md4c_SOURCE_DIR}/src)
target_link_libraries(${PROJECT_NAME} md4c re2 minizip date) target_link_libraries(${PROJECT_NAME} md4c minizip date)
endif() endif()
target_link_libraries(${PROJECT_NAME} TulipHook geode-sdk mat-json-impl) target_link_libraries(${PROJECT_NAME} TulipHook geode-sdk mat-json-impl)

View file

@ -1,7 +1,7 @@
/* zconf.h -- configuration of the zlib compression library /* zconf.h -- configuration of the zlib compression library
* Copyright (C) 1995-2010 Jean-loup Gailly. * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h * For conditions of distribution and use, see copyright notice in zlib.h
*/ */
/* @(#) $Id$ */ /* @(#) $Id$ */
@ -9,324 +9,392 @@
#define ZCONF_H #define ZCONF_H
/* /*
* If you *really* need a unique prefix for all types and library functions, * 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. * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
* Even better than compiling with -DZ_PREFIX would be to use configure to set * Even better than compiling with -DZ_PREFIX would be to use configure to set
* this permanently in zconf.h using "./configure --zprefix". * this permanently in zconf.h using "./configure --zprefix".
*/ */
#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ #ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
# define Z_PREFIX_SET
/* all linked symbols */ /* all linked symbols and init macros */
# define _dist_code z__dist_code # define _dist_code z__dist_code
# define _length_code z__length_code # define _length_code z__length_code
# define _tr_align z__tr_align # define _tr_align z__tr_align
# define _tr_flush_block z__tr_flush_block # define _tr_flush_bits z__tr_flush_bits
# define _tr_init z__tr_init # define _tr_flush_block z__tr_flush_block
# define _tr_stored_block z__tr_stored_block # define _tr_init z__tr_init
# define _tr_tally z__tr_tally # define _tr_stored_block z__tr_stored_block
# define adler32 z_adler32 # define _tr_tally z__tr_tally
# define adler32_combine z_adler32_combine # define adler32 z_adler32
# define adler32_combine64 z_adler32_combine64 # define adler32_combine z_adler32_combine
# define compress z_compress # define adler32_combine64 z_adler32_combine64
# define compress2 z_compress2 # define adler32_z z_adler32_z
# define compressBound z_compressBound # ifndef Z_SOLO
# define crc32 z_crc32 # define compress z_compress
# define crc32_combine z_crc32_combine # define compress2 z_compress2
# define crc32_combine64 z_crc32_combine64 # define compressBound z_compressBound
# define deflate z_deflate # endif
# define deflateBound z_deflateBound # define crc32 z_crc32
# define deflateCopy z_deflateCopy # define crc32_combine z_crc32_combine
# define deflateEnd z_deflateEnd # define crc32_combine64 z_crc32_combine64
# define deflateInit2_ z_deflateInit2_ # define crc32_combine_gen z_crc32_combine_gen
# define deflateInit_ z_deflateInit_ # define crc32_combine_gen64 z_crc32_combine_gen64
# define deflateParams z_deflateParams # define crc32_combine_op z_crc32_combine_op
# define deflatePrime z_deflatePrime # define crc32_z z_crc32_z
# define deflateReset z_deflateReset # define deflate z_deflate
# define deflateSetDictionary z_deflateSetDictionary # define deflateBound z_deflateBound
# define deflateSetHeader z_deflateSetHeader # define deflateCopy z_deflateCopy
# define deflateTune z_deflateTune # define deflateEnd z_deflateEnd
# define deflate_copyright z_deflate_copyright # define deflateGetDictionary z_deflateGetDictionary
# define get_crc_table z_get_crc_table # define deflateInit z_deflateInit
# define gz_error z_gz_error # define deflateInit2 z_deflateInit2
# define gz_intmax z_gz_intmax # define deflateInit2_ z_deflateInit2_
# define gz_strwinerror z_gz_strwinerror # define deflateInit_ z_deflateInit_
# define gzbuffer z_gzbuffer # define deflateParams z_deflateParams
# define gzclearerr z_gzclearerr # define deflatePending z_deflatePending
# define gzclose z_gzclose # define deflatePrime z_deflatePrime
# define gzclose_r z_gzclose_r # define deflateReset z_deflateReset
# define gzclose_w z_gzclose_w # define deflateResetKeep z_deflateResetKeep
# define gzdirect z_gzdirect # define deflateSetDictionary z_deflateSetDictionary
# define gzdopen z_gzdopen # define deflateSetHeader z_deflateSetHeader
# define gzeof z_gzeof # define deflateTune z_deflateTune
# define gzerror z_gzerror # define deflate_copyright z_deflate_copyright
# define gzflush z_gzflush # define get_crc_table z_get_crc_table
# define gzgetc z_gzgetc # ifndef Z_SOLO
# define gzgets z_gzgets # define gz_error z_gz_error
# define gzoffset z_gzoffset # define gz_intmax z_gz_intmax
# define gzoffset64 z_gzoffset64 # define gz_strwinerror z_gz_strwinerror
# define gzopen z_gzopen # define gzbuffer z_gzbuffer
# define gzopen64 z_gzopen64 # define gzclearerr z_gzclearerr
# define gzprintf z_gzprintf # define gzclose z_gzclose
# define gzputc z_gzputc # define gzclose_r z_gzclose_r
# define gzputs z_gzputs # define gzclose_w z_gzclose_w
# define gzread z_gzread # define gzdirect z_gzdirect
# define gzrewind z_gzrewind # define gzdopen z_gzdopen
# define gzseek z_gzseek # define gzeof z_gzeof
# define gzseek64 z_gzseek64 # define gzerror z_gzerror
# define gzsetparams z_gzsetparams # define gzflush z_gzflush
# define gztell z_gztell # define gzfread z_gzfread
# define gztell64 z_gztell64 # define gzfwrite z_gzfwrite
# define gzungetc z_gzungetc # define gzgetc z_gzgetc
# define gzwrite z_gzwrite # define gzgetc_ z_gzgetc_
# define inflate z_inflate # define gzgets z_gzgets
# define inflateBack z_inflateBack # define gzoffset z_gzoffset
# define inflateBackEnd z_inflateBackEnd # define gzoffset64 z_gzoffset64
# define inflateBackInit_ z_inflateBackInit_ # define gzopen z_gzopen
# define inflateCopy z_inflateCopy # define gzopen64 z_gzopen64
# define inflateEnd z_inflateEnd # ifdef _WIN32
# define inflateGetHeader z_inflateGetHeader # define gzopen_w z_gzopen_w
# define inflateInit2_ z_inflateInit2_ # endif
# define inflateInit_ z_inflateInit_ # define gzprintf z_gzprintf
# define inflateMark z_inflateMark # define gzputc z_gzputc
# define inflatePrime z_inflatePrime # define gzputs z_gzputs
# define inflateReset z_inflateReset # define gzread z_gzread
# define inflateReset2 z_inflateReset2 # define gzrewind z_gzrewind
# define inflateSetDictionary z_inflateSetDictionary # define gzseek z_gzseek
# define inflateSync z_inflateSync # define gzseek64 z_gzseek64
# define inflateSyncPoint z_inflateSyncPoint # define gzsetparams z_gzsetparams
# define inflateUndermine z_inflateUndermine # define gztell z_gztell
# define inflate_copyright z_inflate_copyright # define gztell64 z_gztell64
# define inflate_fast z_inflate_fast # define gzungetc z_gzungetc
# define inflate_table z_inflate_table # define gzvprintf z_gzvprintf
# define uncompress z_uncompress # define gzwrite z_gzwrite
# define zError z_zError # endif
# define zcalloc z_zcalloc # define inflate z_inflate
# define zcfree z_zcfree # define inflateBack z_inflateBack
# define zlibCompileFlags z_zlibCompileFlags # define inflateBackEnd z_inflateBackEnd
# define zlibVersion z_zlibVersion # define inflateBackInit z_inflateBackInit
# define inflateBackInit_ z_inflateBackInit_
# define inflateCodesUsed z_inflateCodesUsed
# define inflateCopy z_inflateCopy
# define inflateEnd z_inflateEnd
# define inflateGetDictionary z_inflateGetDictionary
# define inflateGetHeader z_inflateGetHeader
# define inflateInit z_inflateInit
# define inflateInit2 z_inflateInit2
# define inflateInit2_ z_inflateInit2_
# define inflateInit_ z_inflateInit_
# define inflateMark z_inflateMark
# define inflatePrime z_inflatePrime
# define inflateReset z_inflateReset
# define inflateReset2 z_inflateReset2
# define inflateResetKeep z_inflateResetKeep
# define inflateSetDictionary z_inflateSetDictionary
# define inflateSync z_inflateSync
# define inflateSyncPoint z_inflateSyncPoint
# define inflateUndermine z_inflateUndermine
# define inflateValidate z_inflateValidate
# define inflate_copyright z_inflate_copyright
# define inflate_fast z_inflate_fast
# define inflate_table z_inflate_table
# ifndef Z_SOLO
# define uncompress z_uncompress
# define uncompress2 z_uncompress2
# endif
# define zError z_zError
# ifndef Z_SOLO
# define zcalloc z_zcalloc
# define zcfree z_zcfree
# endif
# define zlibCompileFlags z_zlibCompileFlags
# define zlibVersion z_zlibVersion
/* all zlib typedefs in zlib.h and zconf.h */ /* all zlib typedefs in zlib.h and zconf.h */
# define Byte z_Byte # define Byte z_Byte
# define Bytef z_Bytef # define Bytef z_Bytef
# define alloc_func z_alloc_func # define alloc_func z_alloc_func
# define charf z_charf # define charf z_charf
# define free_func z_free_func # define free_func z_free_func
# define gzFile z_gzFile # ifndef Z_SOLO
# define gz_header z_gz_header # define gzFile z_gzFile
# define gz_headerp z_gz_headerp # endif
# define in_func z_in_func # define gz_header z_gz_header
# define intf z_intf # define gz_headerp z_gz_headerp
# define out_func z_out_func # define in_func z_in_func
# define uInt z_uInt # define intf z_intf
# define uIntf z_uIntf # define out_func z_out_func
# define uLong z_uLong # define uInt z_uInt
# define uLongf z_uLongf # define uIntf z_uIntf
# define voidp z_voidp # define uLong z_uLong
# define voidpc z_voidpc # define uLongf z_uLongf
# define voidpf z_voidpf # define voidp z_voidp
# define voidpc z_voidpc
# define voidpf z_voidpf
/* all zlib structs in zlib.h and zconf.h */ /* all zlib structs in zlib.h and zconf.h */
# define gz_header_s z_gz_header_s # define gz_header_s z_gz_header_s
# define internal_state z_internal_state # define internal_state z_internal_state
#endif #endif
#if defined(__MSDOS__) && !defined(MSDOS) #if defined(__MSDOS__) && !defined(MSDOS)
# define MSDOS # define MSDOS
#endif #endif
#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) #if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
# define OS2 # define OS2
#endif #endif
#if defined(_WINDOWS) && !defined(WINDOWS) #if defined(_WINDOWS) && !defined(WINDOWS)
# define WINDOWS # define WINDOWS
#endif #endif
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) #if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
# ifndef WIN32 # ifndef WIN32
# define WIN32 # define WIN32
# endif # endif
#endif #endif
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) # if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
# ifndef SYS16BIT # ifndef SYS16BIT
# define SYS16BIT # define SYS16BIT
# endif # endif
# endif # endif
#endif #endif
/* /*
* Compile with -DMAXSEG_64K if the alloc function cannot allocate more * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
* than 64k bytes at a time (needed on systems with 16-bit int). * than 64k bytes at a time (needed on systems with 16-bit int).
*/ */
#ifdef SYS16BIT #ifdef SYS16BIT
# define MAXSEG_64K # define MAXSEG_64K
#endif #endif
#ifdef MSDOS #ifdef MSDOS
# define UNALIGNED_OK # define UNALIGNED_OK
#endif #endif
#ifdef __STDC_VERSION__ #ifdef __STDC_VERSION__
# ifndef STDC # ifndef STDC
# define STDC # define STDC
# endif # endif
# if __STDC_VERSION__ >= 199901L # if __STDC_VERSION__ >= 199901L
# ifndef STDC99 # ifndef STDC99
# define STDC99 # define STDC99
# endif # endif
# endif # endif
#endif #endif
#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) #if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
# define STDC # define STDC
#endif #endif
#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) #if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
# define STDC # define STDC
#endif #endif
#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) #if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
# define STDC # define STDC
#endif #endif
#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) #if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
# define STDC # define STDC
#endif #endif
#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ #if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
# define STDC # define STDC
#endif #endif
#ifndef STDC #ifndef STDC
# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ # ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
# define const /* note: need a more gentle solution here */ # define const /* note: need a more gentle solution here */
# endif # endif
#endif #endif
/* Some Mac compilers merge all .h files incorrectly: */ #if defined(ZLIB_CONST) && !defined(z_const)
#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) # define z_const const
# define NO_DUMMY_DECL #else
# define z_const
#endif
#ifdef Z_SOLO
# ifdef _WIN64
typedef unsigned long long z_size_t;
# else
typedef unsigned long z_size_t;
# endif
#else
# define z_longlong long long
# if defined(NO_SIZE_T)
typedef unsigned NO_SIZE_T z_size_t;
# elif defined(STDC)
# include <stddef.h>
typedef size_t z_size_t;
# else
typedef unsigned long z_size_t;
# endif
# undef z_longlong
#endif #endif
/* Maximum value for memLevel in deflateInit2 */ /* Maximum value for memLevel in deflateInit2 */
#ifndef MAX_MEM_LEVEL #ifndef MAX_MEM_LEVEL
# ifdef MAXSEG_64K # ifdef MAXSEG_64K
# define MAX_MEM_LEVEL 8 # define MAX_MEM_LEVEL 8
# else # else
# define MAX_MEM_LEVEL 9 # define MAX_MEM_LEVEL 9
# endif # endif
#endif #endif
/* Maximum value for windowBits in deflateInit2 and inflateInit2. /* Maximum value for windowBits in deflateInit2 and inflateInit2.
* WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
* created by gzip. (Files created by minigzip can still be extracted by * created by gzip. (Files created by minigzip can still be extracted by
* gzip.) * gzip.)
*/ */
#ifndef MAX_WBITS #ifndef MAX_WBITS
# define MAX_WBITS 15 /* 32K LZ77 window */ # define MAX_WBITS 15 /* 32K LZ77 window */
#endif #endif
/* The memory requirements for deflate are (in bytes): /* The memory requirements for deflate are (in bytes):
(1 << (windowBits+2)) + (1 << (memLevel+9)) (1 << (windowBits+2)) + (1 << (memLevel+9))
that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
plus a few kilobytes for small objects. For example, if you want to reduce plus a few kilobytes for small objects. For example, if you want to reduce
the default memory requirements from 256K to 128K, compile with the default memory requirements from 256K to 128K, compile with
make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
Of course this will generally degrade compression (there's no free lunch). Of course this will generally degrade compression (there's no free lunch).
The memory requirements for inflate are (in bytes) 1 << windowBits The memory requirements for inflate are (in bytes) 1 << windowBits
that is, 32K for windowBits=15 (default value) plus a few kilobytes that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
for small objects. for small objects.
*/ */
/* Type declarations */ /* Type declarations */
#ifndef OF /* function prototypes */ #ifndef OF /* function prototypes */
# ifdef STDC # ifdef STDC
# define OF(args) args # define OF(args) args
# else # else
# define OF(args) () # define OF(args) ()
# endif # endif
#endif
#ifndef Z_ARG /* function prototypes for stdarg */
# if defined(STDC) || defined(Z_HAVE_STDARG_H)
# define Z_ARG(args) args
# else
# define Z_ARG(args) ()
# endif
#endif #endif
/* The following definitions for FAR are needed only for MSDOS mixed /* The following definitions for FAR are needed only for MSDOS mixed
* model programming (small or medium model with some far allocations). * model programming (small or medium model with some far allocations).
* This was tested only with MSC; for other MSDOS compilers you may have * This was tested only with MSC; for other MSDOS compilers you may have
* to define NO_MEMCPY in zutil.h. If you don't need the mixed model, * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
* just define FAR to be empty. * just define FAR to be empty.
*/ */
#ifdef SYS16BIT #ifdef SYS16BIT
# if defined(M_I86SM) || defined(M_I86MM) # if defined(M_I86SM) || defined(M_I86MM)
/* MSC small or medium model */ /* MSC small or medium model */
# define SMALL_MEDIUM # define SMALL_MEDIUM
# ifdef _MSC_VER # ifdef _MSC_VER
# define FAR _far # define FAR _far
# else # else
# define FAR far # define FAR far
# endif # endif
# endif # endif
# if (defined(__SMALL__) || defined(__MEDIUM__)) # if (defined(__SMALL__) || defined(__MEDIUM__))
/* Turbo C small or medium model */ /* Turbo C small or medium model */
# define SMALL_MEDIUM # define SMALL_MEDIUM
# ifdef __BORLANDC__ # ifdef __BORLANDC__
# define FAR _far # define FAR _far
# else # else
# define FAR far # define FAR far
# endif # endif
# endif # endif
#endif #endif
#if defined(WINDOWS) || defined(WIN32) #if defined(WINDOWS) || defined(WIN32)
/* If building or using zlib as a DLL, define ZLIB_DLL. /* If building or using zlib as a DLL, define ZLIB_DLL.
* This is not mandatory, but it offers a little performance increase. * This is not mandatory, but it offers a little performance increase.
*/ */
# ifdef ZLIB_DLL # ifdef ZLIB_DLL
# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) # if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
# ifdef ZLIB_INTERNAL # ifdef ZLIB_INTERNAL
# define ZEXTERN extern __declspec(dllexport) # define ZEXTERN extern __declspec(dllexport)
# else # else
# define ZEXTERN extern __declspec(dllimport) # define ZEXTERN extern __declspec(dllimport)
# endif # endif
# endif # endif
# endif /* ZLIB_DLL */ # endif /* ZLIB_DLL */
/* If building or using zlib with the WINAPI/WINAPIV calling convention, /* If building or using zlib with the WINAPI/WINAPIV calling convention,
* define ZLIB_WINAPI. * define ZLIB_WINAPI.
* Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
*/ */
# ifdef ZLIB_WINAPI # ifdef ZLIB_WINAPI
# ifdef FAR # ifdef FAR
# undef FAR # undef FAR
# endif # endif
# include <windows.h> # ifndef WIN32_LEAN_AND_MEAN
/* No need for _export, use ZLIB.DEF instead. */ # define WIN32_LEAN_AND_MEAN
/* For complete Windows compatibility, use WINAPI, not __stdcall. */ # endif
# define ZEXPORT WINAPI # include <windows.h>
# ifdef WIN32 /* No need for _export, use ZLIB.DEF instead. */
# define ZEXPORTVA WINAPIV /* For complete Windows compatibility, use WINAPI, not __stdcall. */
# else # define ZEXPORT WINAPI
# define ZEXPORTVA FAR CDECL # ifdef WIN32
# endif # define ZEXPORTVA WINAPIV
# endif # else
# define ZEXPORTVA FAR CDECL
# endif
# endif
#endif #endif
#if defined (__BEOS__) #if defined (__BEOS__)
# ifdef ZLIB_DLL # ifdef ZLIB_DLL
# ifdef ZLIB_INTERNAL # ifdef ZLIB_INTERNAL
# define ZEXPORT __declspec(dllexport) # define ZEXPORT __declspec(dllexport)
# define ZEXPORTVA __declspec(dllexport) # define ZEXPORTVA __declspec(dllexport)
# else # else
# define ZEXPORT __declspec(dllimport) # define ZEXPORT __declspec(dllimport)
# define ZEXPORTVA __declspec(dllimport) # define ZEXPORTVA __declspec(dllimport)
# endif # endif
# endif # endif
#endif #endif
#ifndef ZEXTERN #ifndef ZEXTERN
# define ZEXTERN extern # define ZEXTERN extern
#endif #endif
#ifndef ZEXPORT #ifndef ZEXPORT
# define ZEXPORT # define ZEXPORT
#endif #endif
#ifndef ZEXPORTVA #ifndef ZEXPORTVA
# define ZEXPORTVA # define ZEXPORTVA
#endif #endif
#ifndef FAR #ifndef FAR
# define FAR # define FAR
#endif #endif
#if !defined(__MACTYPES__) #if !defined(__MACTYPES__)
@ -337,9 +405,9 @@ typedef unsigned long uLong; /* 32 bits or more */
#ifdef SMALL_MEDIUM #ifdef SMALL_MEDIUM
/* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
# define Bytef Byte FAR # define Bytef Byte FAR
#else #else
typedef Byte FAR Bytef; typedef Byte FAR Bytef;
#endif #endif
typedef char FAR charf; typedef char FAR charf;
typedef int FAR intf; typedef int FAR intf;
@ -347,82 +415,137 @@ typedef uInt FAR uIntf;
typedef uLong FAR uLongf; typedef uLong FAR uLongf;
#ifdef STDC #ifdef STDC
typedef void const *voidpc; typedef void const *voidpc;
typedef void FAR *voidpf; typedef void FAR *voidpf;
typedef void *voidp; typedef void *voidp;
#else #else
typedef Byte const *voidpc; typedef Byte const *voidpc;
typedef Byte FAR *voidpf; typedef Byte FAR *voidpf;
typedef Byte *voidp; typedef Byte *voidp;
#endif
#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
# include <limits.h>
# if (UINT_MAX == 0xffffffffUL)
# define Z_U4 unsigned
# elif (ULONG_MAX == 0xffffffffUL)
# define Z_U4 unsigned long
# elif (USHRT_MAX == 0xffffffffUL)
# define Z_U4 unsigned short
# endif
#endif
#ifdef Z_U4
typedef Z_U4 z_crc_t;
#else
typedef unsigned long z_crc_t;
#endif #endif
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ #ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
# define Z_HAVE_UNISTD_H # define Z_HAVE_UNISTD_H
#endif
#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
# define Z_HAVE_STDARG_H
#endif #endif
#ifdef STDC #ifdef STDC
# include <sys/types.h> /* for off_t */ # ifndef Z_SOLO
# include <sys/types.h> /* for off_t */
# endif
#endif
#if defined(STDC) || defined(Z_HAVE_STDARG_H)
# ifndef Z_SOLO
# include <stdarg.h> /* for va_list */
# endif
#endif
#ifdef _WIN32
# ifndef Z_SOLO
# include <stddef.h> /* for wchar_t */
# endif
#endif #endif
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and /* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
* though the former does not conform to the LFS document), but considering * though the former does not conform to the LFS document), but considering
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
* equivalently requesting no 64-bit operations * equivalently requesting no 64-bit operations
*/ */
#if -_LARGEFILE64_SOURCE - -1 == 1 #if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
# undef _LARGEFILE64_SOURCE # undef _LARGEFILE64_SOURCE
#endif #endif
#if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE) #ifndef Z_HAVE_UNISTD_H
# include <unistd.h> /* for SEEK_* and off_t */ # ifdef __WATCOMC__
# ifdef VMS # define Z_HAVE_UNISTD_H
# include <unixio.h> /* for off_t */ # endif
# endif #endif
# ifndef z_off_t #ifndef Z_HAVE_UNISTD_H
# define z_off_t off_t # if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
# endif # define Z_HAVE_UNISTD_H
# endif
#endif
#ifndef Z_SOLO
# if defined(Z_HAVE_UNISTD_H)
# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
# ifdef VMS
# include <unixio.h> /* for off_t */
# endif
# ifndef z_off_t
# define z_off_t off_t
# endif
# endif
#endif #endif
#ifndef SEEK_SET #if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
# define SEEK_SET 0 /* Seek from beginning of file. */ # define Z_LFS64
# define SEEK_CUR 1 /* Seek from current position. */ #endif
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
# define Z_LARGE64
#endif
#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
# define Z_WANT64
#endif
#if !defined(SEEK_SET) && !defined(Z_SOLO)
# define SEEK_SET 0 /* Seek from beginning of file. */
# define SEEK_CUR 1 /* Seek from current position. */
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
#endif #endif
#ifndef z_off_t #ifndef z_off_t
# define z_off_t long # define z_off_t long
#endif #endif
#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0 #if !defined(_WIN32) && defined(Z_LARGE64)
# define z_off64_t off64_t # define z_off64_t off64_t
#else #else
# define z_off64_t z_off_t # if defined(_WIN32) && !defined(__GNUC__)
#endif # define z_off64_t __int64
# else
#if defined(__OS400__) # define z_off64_t z_off_t
# define NO_vsnprintf # endif
#endif
#if defined(__MVS__)
# define NO_vsnprintf
#endif #endif
/* MVS linker does not support external names larger than 8 bytes */ /* MVS linker does not support external names larger than 8 bytes */
#if defined(__MVS__) #if defined(__MVS__)
#pragma map(deflateInit_,"DEIN") #pragma map(deflateInit_,"DEIN")
#pragma map(deflateInit2_,"DEIN2") #pragma map(deflateInit2_,"DEIN2")
#pragma map(deflateEnd,"DEEND") #pragma map(deflateEnd,"DEEND")
#pragma map(deflateBound,"DEBND") #pragma map(deflateBound,"DEBND")
#pragma map(inflateInit_,"ININ") #pragma map(inflateInit_,"ININ")
#pragma map(inflateInit2_,"ININ2") #pragma map(inflateInit2_,"ININ2")
#pragma map(inflateEnd,"INEND") #pragma map(inflateEnd,"INEND")
#pragma map(inflateSync,"INSY") #pragma map(inflateSync,"INSY")
#pragma map(inflateSetDictionary,"INSEDI") #pragma map(inflateSetDictionary,"INSEDI")
#pragma map(compressBound,"CMBND") #pragma map(compressBound,"CMBND")
#pragma map(inflate_table,"INTABL") #pragma map(inflate_table,"INTABL")
#pragma map(inflate_fast,"INFA") #pragma map(inflate_fast,"INFA")
#pragma map(inflate_copyright,"INCOPY") #pragma map(inflate_copyright,"INCOPY")
#endif #endif
#endif /* ZCONF_H */ #endif /* ZCONF_H */

File diff suppressed because it is too large Load diff

View file

@ -5,7 +5,7 @@
#include <Geode/loader/SettingNode.hpp> #include <Geode/loader/SettingNode.hpp>
#include <Geode/utils/general.hpp> #include <Geode/utils/general.hpp>
#include <Geode/utils/JsonValidation.hpp> #include <Geode/utils/JsonValidation.hpp>
#include <re2/re2.h> #include <regex>
using namespace geode::prelude; using namespace geode::prelude;
@ -390,7 +390,7 @@ IMPL_TO_VALID(Float) {
IMPL_TO_VALID(String) { IMPL_TO_VALID(String) {
if (m_definition.controls->match) { if (m_definition.controls->match) {
if (!re2::RE2::FullMatch(value, m_definition.controls->match.value())) { if (!std::regex_match(value, std::regex{m_definition.controls->match.value()})) {
return { return {
m_definition.defaultValue, m_definition.defaultValue,
fmt::format( fmt::format(

View file

@ -187,7 +187,8 @@ private:
if (std::holds_alternative<Path>(m_srcDest)) { if (std::holds_alternative<Path>(m_srcDest)) {
auto& path = std::get<Path>(m_srcDest); auto& path = std::get<Path>(m_srcDest);
// open file // open file
if (!mz_stream_os_create(&m_stream)) { m_stream = mz_stream_os_create();
if (!m_stream) {
return Err("Unable to open file"); return Err("Unable to open file");
} }
if (mz_stream_os_open( if (mz_stream_os_open(
@ -201,7 +202,8 @@ private:
// open stream from memory stream // open stream from memory stream
else { else {
auto& src = std::get<ByteVector>(m_srcDest); auto& src = std::get<ByteVector>(m_srcDest);
if (!mz_stream_mem_create(&m_stream)) { m_stream = mz_stream_mem_create();
if (!m_stream) {
return Err("Unable to create memory stream"); return Err("Unable to create memory stream");
} }
// mz_stream_mem_set_buffer doesn't memcpy so we gotta store the data // mz_stream_mem_set_buffer doesn't memcpy so we gotta store the data
@ -218,7 +220,8 @@ private:
} }
// open zip // open zip
if (!mz_zip_create(&m_handle)) { m_handle = mz_zip_create();
if (!m_handle) {
return Err("Unable to create zip handler"); return Err("Unable to create zip handler");
} }
if (mz_zip_open(m_handle, m_stream, m_mode) != MZ_OK) { if (mz_zip_open(m_handle, m_stream, m_mode) != MZ_OK) {