DaveGamble / cJSON

Ultralightweight JSON parser in ANSI C
MIT License
10.28k stars 3.15k forks source link

Compute `cJSON_Version()` at compile time #858

Open niooss-ledger opened 1 month ago

niooss-ledger commented 1 month ago

Hello,

As CJSON_VERSION_... macros are known to be constant integers, it is possible to use C macros to transform them to literal strings and to directly use the result in function cJSON_Version.

As a side-effect, this makes cJSON_Version thread-safe, as a there is no longer a shared buffer (static char version[15]) shared between threads.