From 7a2cbc060f8c5cf6d9cf7116f03e76f6d70adf8e Mon Sep 17 00:00:00 2001 From: Carter Li Date: Wed, 14 May 2025 08:52:06 +0800 Subject: [PATCH] 3rdparty (yyjson): upgrade to 0.11.1 --- src/3rdparty/yyjson/repo.json | 2 +- src/3rdparty/yyjson/yyjson.c | 19 ++++++++++++++----- src/3rdparty/yyjson/yyjson.h | 6 +++--- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/yyjson/repo.json b/src/3rdparty/yyjson/repo.json index b459f526a..bb2256ef0 100644 --- a/src/3rdparty/yyjson/repo.json +++ b/src/3rdparty/yyjson/repo.json @@ -1,6 +1,6 @@ { "home": "https://github.com/ibireme/yyjson", "license": "MIT ( embed in source )", - "version": "0.11.0", + "version": "0.11.1", "author": "ibireme" } diff --git a/src/3rdparty/yyjson/yyjson.c b/src/3rdparty/yyjson/yyjson.c index 1d55473c8..20c3050ae 100644 --- a/src/3rdparty/yyjson/yyjson.c +++ b/src/3rdparty/yyjson/yyjson.c @@ -566,6 +566,8 @@ typedef union v64_uni { v64 v; u64 u; } v64_uni; *============================================================================*/ #define byte_move_idx(x) ((char *)dst)[x] = ((const char *)src)[x]; +#define byte_move_src(x) ((char *)tmp)[x] = ((const char *)src)[x]; +#define byte_move_dst(x) ((char *)dst)[x] = ((const char *)tmp)[x]; static_inline void byte_copy_2(void *dst, const void *src) { #if !YYJSON_DISABLE_UNALIGNED_MEMORY_ACCESS @@ -605,7 +607,9 @@ static_inline void byte_move_2(void *dst, const void *src) { memcpy(&tmp, src, 2); memcpy(dst, &tmp, 2); #else - repeat2_incr(byte_move_idx) + char tmp[2]; + repeat2_incr(byte_move_src) + repeat2_incr(byte_move_dst) #endif } @@ -615,7 +619,9 @@ static_inline void byte_move_4(void *dst, const void *src) { memcpy(&tmp, src, 4); memcpy(dst, &tmp, 4); #else - repeat4_incr(byte_move_idx) + char tmp[4]; + repeat4_incr(byte_move_src) + repeat4_incr(byte_move_dst) #endif } @@ -625,7 +631,9 @@ static_inline void byte_move_8(void *dst, const void *src) { memcpy(&tmp, src, 8); memcpy(dst, &tmp, 8); #else - repeat8_incr(byte_move_idx) + char tmp[8]; + repeat8_incr(byte_move_src) + repeat8_incr(byte_move_dst) #endif } @@ -639,7 +647,9 @@ static_inline void byte_move_16(void *dst, const void *src) { memcpy(pdst, &tmp1, 8); memcpy(pdst + 8, &tmp2, 8); #else - repeat16_incr(byte_move_idx) + char tmp[16]; + repeat16_incr(byte_move_src) + repeat16_incr(byte_move_dst) #endif } @@ -700,7 +710,6 @@ static_inline u32 byte_load_4(const void *src) { #if !YYJSON_DISABLE_UNALIGNED_MEMORY_ACCESS memcpy(&uni, src, 4); #else - v32_uni uni; uni.v.c[0] = ((const char *)src)[0]; uni.v.c[1] = ((const char *)src)[1]; uni.v.c[2] = ((const char *)src)[2]; diff --git a/src/3rdparty/yyjson/yyjson.h b/src/3rdparty/yyjson/yyjson.h index d26dc49b7..824026059 100644 --- a/src/3rdparty/yyjson/yyjson.h +++ b/src/3rdparty/yyjson/yyjson.h @@ -502,13 +502,13 @@ extern "C" { #define YYJSON_VERSION_MINOR 11 /** The patch version of yyjson. */ -#define YYJSON_VERSION_PATCH 0 +#define YYJSON_VERSION_PATCH 1 /** The version of yyjson in hex: `(major << 16) | (minor << 8) | (patch)`. */ -#define YYJSON_VERSION_HEX 0x000B00 +#define YYJSON_VERSION_HEX 0x000B01 /** The version string of yyjson. */ -#define YYJSON_VERSION_STRING "0.11.0" +#define YYJSON_VERSION_STRING "0.11.1" /** The version of yyjson in hex, same as `YYJSON_VERSION_HEX`. */ yyjson_api uint32_t yyjson_version(void);