Browse Source

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.
Max Bruckner 8 years ago
parent
commit
123bb1af7b
1 changed files with 5 additions and 0 deletions
  1. 5 0
      cJSON.c

+ 5 - 0
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];