From 47355bf024e9143521dfe1dc486639c44aefd168 Mon Sep 17 00:00:00 2001 From: Jan-Piet Mens Date: Tue, 20 Oct 2015 09:49:56 +0200 Subject: [PATCH] pretty-dump otrc --- recorder.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/recorder.c b/recorder.c index b1595fa..efe91e1 100644 --- a/recorder.c +++ b/recorder.c @@ -324,12 +324,21 @@ static void putrec(struct udata *ud, time_t now, UT_string *reltopic, UT_string /* * Payload contains JSON string with a configuration obtained - * via cmd `dump' to the device. Store it. + * via cmd `dump' to the device. Store it "pretty". */ void config_dump(struct udata *ud, UT_string *username, UT_string *device, char *payloadstring) { + JsonNode *json; static UT_string *ts = NULL; + char *pretty_js; + + if ((json = json_decode(payloadstring)) == NULL) { + olog(LOG_ERR, "Cannot decode JSON from %s", payloadstring); + return; + } + pretty_js = json_stringify(json, "\t"); + json_delete(json); utstring_renew(ts); @@ -347,7 +356,8 @@ void config_dump(struct udata *ud, UT_string *username, UT_string *device, char if (ud->verbose) { printf("Received configuration dump, storing at %s\n", UB(ts)); } - safewrite(UB(ts), payloadstring); + safewrite(UB(ts), pretty_js); + free(pretty_js); } /*