Merge pull request #128 from ityuhui/yh-freefrom-object-0614

Support free-form objects
This commit is contained in:
Kubernetes Prow Robot
2022-06-16 13:21:05 -07:00
committed by GitHub
2 changed files with 29 additions and 9 deletions

View File

@@ -4,28 +4,48 @@
#include "object.h"
object_t *object_create() {
object_t *object = malloc(sizeof(object_t));
object_t *object = calloc(1, sizeof(object_t));
return object;
}
void object_free(object_t *object) {
if (!object) {
return ;
}
if (object->temporary) {
free(object->temporary);
object->temporary = NULL;
}
free (object);
}
cJSON *object_convertToJSON(object_t *object) {
cJSON *item = cJSON_CreateObject();
if (!object) {
return NULL;
}
return item;
fail:
cJSON_Delete(item);
return NULL;
if (!object->temporary) {
return cJSON_Parse("null");
}
return cJSON_Parse(object->temporary);
}
object_t *object_parseFromJSON(char *jsonString){
object_t *object = NULL;
object_t *object_parseFromJSON(cJSON *json){
if (!json) {
goto end;
}
object_t *object = object_create();
if (!object) {
goto end;
}
object->temporary = cJSON_Print(json);
return object;
end:
return NULL;
}

View File

@@ -20,7 +20,7 @@ object_t *object_create();
void object_free(object_t *object);
object_t *object_parseFromJSON(char *jsonString);
object_t *object_parseFromJSON(cJSON *json);
cJSON *object_convertToJSON(object_t *object);