|
@@ -1891,6 +1891,14 @@ CJSON_PUBLIC(void) cJSON_AddItemToObject(cJSON *object, const char *string, cJSO
|
|
|
#ifdef __GNUC__
|
|
|
#pragma GCC diagnostic ignored "-Wcast-qual"
|
|
|
#endif
|
|
|
+/* helper function to cast away const */
|
|
|
+static char* cast_away_const_from_string(const char* string)
|
|
|
+{
|
|
|
+ return (char*)string;
|
|
|
+}
|
|
|
+#if defined(__clang__) || (defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 5))))
|
|
|
+ #pragma GCC diagnostic pop
|
|
|
+#endif
|
|
|
|
|
|
/* Add an item to an object with constant string as key */
|
|
|
CJSON_PUBLIC(void) cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJSON *item)
|
|
@@ -1903,13 +1911,10 @@ CJSON_PUBLIC(void) cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJ
|
|
|
{
|
|
|
global_hooks.deallocate(item->string);
|
|
|
}
|
|
|
- item->string = (char*)string;
|
|
|
+ item->string = cast_away_const_from_string(string);
|
|
|
item->type |= cJSON_StringIsConst;
|
|
|
cJSON_AddItemToArray(object, item);
|
|
|
}
|
|
|
-#if defined(__clang__) || (defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 5))))
|
|
|
- #pragma GCC diagnostic pop
|
|
|
-#endif
|
|
|
|
|
|
CJSON_PUBLIC(void) cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item)
|
|
|
{
|