From a986640ef6dfef93dbfba90c11481b5faf76420f Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sat, 22 Mar 2014 01:56:00 -0700 Subject: [PATCH] json export for planes. untested. old tests broken. WIP --- cutest | 2 +- src/json.c | 16 +++++++++++++++- src/kernel/xmlreader.c | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/cutest b/cutest index 0b718dde0..d83cec09a 160000 --- a/cutest +++ b/cutest @@ -1 +1 @@ -Subproject commit 0b718dde0939afdd1f424f5030fc1621d38ba6db +Subproject commit d83cec09a52835274ab8ed4849de16fb8658982a diff --git a/src/json.c b/src/json.c index b826b1926..9a43879ab 100644 --- a/src/json.c +++ b/src/json.c @@ -4,6 +4,7 @@ #include "json.h" #include +#include #include #include #include @@ -58,10 +59,23 @@ int json_export(stream * out, unsigned int flags) { cJSON *json, *root = cJSON_CreateObject(); assert(out && out->api); if (regions && (flags & EXPORT_REGIONS)) { + char id[32]; region * r; + plane * p; + cJSON_AddItemToObject(root, "planes", json = cJSON_CreateObject()); + for (p=planes;p;p=p->next) { + cJSON *data; + _snprintf(id, sizeof(id), "%u", p->id); + cJSON_AddItemToObject(json, id, data = cJSON_CreateObject()); + cJSON_AddNumberToObject(data, "x", p->minx); + cJSON_AddNumberToObject(data, "y", p->miny); + cJSON_AddNumberToObject(data, "width", p->maxx-p->minx); + cJSON_AddNumberToObject(data, "height", p->maxy-p->miny); + cJSON_AddStringToObject(data, "name", p->name); + } + cJSON_AddItemToObject(root, "regions", json = cJSON_CreateObject()); for (r = regions; r; r = r->next) { - char id[32]; cJSON *data; _snprintf(id, sizeof(id), "%u", r->uid); cJSON_AddItemToObject(json, id, data = cJSON_CreateObject()); diff --git a/src/kernel/xmlreader.c b/src/kernel/xmlreader.c index d2a47054a..9652d4201 100644 --- a/src/kernel/xmlreader.c +++ b/src/kernel/xmlreader.c @@ -2355,7 +2355,7 @@ static int parse_main(xmlDocPtr doc) } } if (k == MAXKEYWORDS) { - log_error("trying to disable unknown comand %s\n", (const char *)propName); + log_error("trying to disable unknown command %s\n", (const char *)propName); } } xmlFree(propName);