return object->valuedouble = number;
}
+CJSON_PUBLIC(char*) cJSON_SetValuestringToObject(cJSON *object, const char *valuestring)
+{
+ size_t length = 0;
+ char *copy = NULL;
+ /* if object->valuestring is NULL, it should not set valuestring */
+ if (object->valuestring == NULL)
+ {
+ return NULL;
+ }
+ length = strlen(valuestring) + sizeof("");
+ copy = (char*) cJSON_malloc(length);
+ if (copy == NULL)
+ {
+ return NULL;
+ }
+ memcpy(copy, valuestring, length);
+ if (!(object->type & cJSON_IsReference) && (object->valuestring != NULL))
+ {
+ cJSON_free(object->valuestring);
+ }
+ object->valuestring = copy;
+
+ return copy;
+}
+
typedef struct
{
unsigned char *buffer;
/* helper for the cJSON_SetNumberValue macro */
CJSON_PUBLIC(double) cJSON_SetNumberHelper(cJSON *object, double number);
#define cJSON_SetNumberValue(object, number) ((object != NULL) ? cJSON_SetNumberHelper(object, (double)number) : (number))
+/* Only takes effect when type of object is JSON_Object */
+CJSON_PUBLIC(char*) cJSON_SetValuestringToObject(cJSON *object, const char *valuestring);
/* Macro for iterating over an array or object */
#define cJSON_ArrayForEach(element, array) for(element = (array != NULL) ? (array)->child : NULL; element != NULL; element = element->next)