From 123bb1af7bfae41d805337fef4b41045ef6c7d25 Mon Sep 17 00:00:00 2001 From: Max Bruckner Date: Wed, 15 Feb 2017 23:21:50 +0100 Subject: [PATCH] cJSON: prevent incompatible C and header versions Introduces a preprocessor directive that aborts the compilation if the version numbers in the header don't match with the numbers in the c file. --- cJSON.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cJSON.c b/cJSON.c index cf534ba..204b863 100644 --- a/cJSON.c +++ b/cJSON.c @@ -58,6 +58,11 @@ const char *cJSON_GetErrorPtr(void) return (const char*) global_ep; } +/* This is a safeguard to prevent copy-pasters from using incompatible C and header files */ +#if (CJSON_VERSION_MAJOR != 1) || (CJSON_VERSION_MINOR != 2) || (CJSON_VERSION_PATCH != 1) + #error cJSON.h and cJSON.c have different versions. Make sure that both have the same. +#endif + extern const char* cJSON_Version(void) { static char version[15];