From 227d3398d6b967879761ebe02c1b63dbd6ea6e0d Mon Sep 17 00:00:00 2001 From: Max Bruckner Date: Sat, 18 Mar 2017 17:52:33 +0100 Subject: [PATCH] Fix the pragmas for Wcast-qual with old gcc versions --- cJSON.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cJSON.c b/cJSON.c index e8ed3b3..ead1b9f 100644 --- a/cJSON.c +++ b/cJSON.c @@ -1580,6 +1580,10 @@ CJSON_PUBLIC(void) cJSON_AddItemToObject(cJSON *object, const char *string, cJSO item->type &= ~cJSON_StringIsConst; } +#if defined (__clang__) || ((__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 5)))) + #pragma GCC diagnostic push +#endif +#pragma GCC diagnostic ignored "-Wcast-qual" /* Add an item to an object with constant string as key */ CJSON_PUBLIC(void) cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJSON *item) { @@ -1591,13 +1595,13 @@ CJSON_PUBLIC(void) cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJ { global_hooks.deallocate(item->string); } -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wcast-qual" item->string = (char*)string; -#pragma GCC diagnostic pop item->type |= cJSON_StringIsConst; cJSON_AddItemToArray(object, item); } +#if defined (__clang__) || ((__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 5)))) + #pragma GCC diagnostic pop +#endif CJSON_PUBLIC(void) cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item) {