dnp3/eve: update for regenerated dnp3 object logging code

Migration from Jansson to JsonBuilder.
pull/5169/head
Jason Ish 5 years ago committed by Victor Julien
parent bf8d8c573a
commit 8c98fa452f

@ -94,32 +94,22 @@ static void JsonDNP3LogApplicationControl(JsonBuilder *js, uint8_t ac)
* *
* TODO: Autogenerate this function based on object definitions. * TODO: Autogenerate this function based on object definitions.
*/ */
static json_t *JsonDNP3LogObjectItems(DNP3Object *object) static void JsonDNP3LogObjectItems(JsonBuilder *js, DNP3Object *object)
{ {
DNP3Point *item; DNP3Point *item;
json_t *jsitems;
if (unlikely((jsitems = json_array()) == NULL)) {
return NULL;
}
TAILQ_FOREACH(item, object->points, next) { TAILQ_FOREACH(item, object->points, next) {
json_t *js = json_object(); jb_start_object(js);
if (unlikely(js == NULL)) {
break;
}
json_object_set_new(js, "prefix", json_integer(item->prefix)); jb_set_uint(js, "prefix", item->prefix);
json_object_set_new(js, "index", json_integer(item->index)); jb_set_uint(js, "index", item->index);
if (DNP3PrefixIsSize(object->prefix_code)) { if (DNP3PrefixIsSize(object->prefix_code)) {
json_object_set_new(js, "size", json_integer(item->size)); jb_set_uint(js, "size", item->size);
} }
OutputJsonDNP3SetItem(js, object, item); OutputJsonDNP3SetItem(js, object, item);
json_array_append_new(jsitems, js); jb_close(js);
} }
return jsitems;
} }
/** /**
@ -144,11 +134,9 @@ static void JsonDNP3LogObjects(JsonBuilder *js, DNP3ObjectList *objects)
jb_set_uint(js, "count", object->count); jb_set_uint(js, "count", object->count);
if (object->points != NULL && !TAILQ_EMPTY(object->points)) { if (object->points != NULL && !TAILQ_EMPTY(object->points)) {
json_t *points = JsonDNP3LogObjectItems(object); jb_open_array(js, "points");
if (points != NULL) { JsonDNP3LogObjectItems(js, object);
jb_set_jsont(js, "points", points); jb_close(js);
json_decref(points);
}
} }
jb_close(js); jb_close(js);

Loading…
Cancel
Save