diff --git a/CHANGELOG.md b/CHANGELOG.md index bd179445c..49c30523c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Added `hf seos write` command (@aaronjamt) - Added `hf seos sim` command (@aaronjamt) - Fix `hf mf staticnested` faild to find a KeyB (@xianglin1998) +- Fix errors(jansson) for MSYS2+UCRT compiler (@xianglin1998) ## [Phrack.4.20728][2025-09-11] - Added `unofficial desfire bible` document (@mistial-dev) diff --git a/client/deps/jansson/jansson.h b/client/deps/jansson/jansson.h index 75cbb5d51..161c794a7 100644 --- a/client/deps/jansson/jansson.h +++ b/client/deps/jansson/jansson.h @@ -11,6 +11,7 @@ #include #include /* for size_t */ #include +#include #include "jansson_config.h" @@ -65,12 +66,10 @@ typedef struct json_t { #ifndef JANSSON_USING_CMAKE /* disabled if using cmake */ #if JSON_INTEGER_IS_LONG_LONG -#ifdef _WIN32 -#define JSON_INTEGER_FORMAT "I64d" -#else -#define JSON_INTEGER_FORMAT "lld" -#endif -typedef long long json_int_t; +// Judging the ‘_WIN32 ’ macro in Msys2 environment will result in UCRT being unable to recognize I64d. +// We may need to use inttypes.h & stdint.h for better compatibility. +#define JSON_INTEGER_FORMAT PRId64 +typedef int64_t json_int_t; #else #define JSON_INTEGER_FORMAT "ld" typedef long json_int_t;