From b66f1eef4106771b9edf9a3efb98ac849c1b2fc0 Mon Sep 17 00:00:00 2001 From: Ivan Poddubny Date: Sat, 3 Oct 2015 14:27:27 +0300 Subject: [PATCH] manager: Fix GetConfigJSON returning invalid JSON MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When GetConfigJSON was introduced back in 1.6, it returned each section as an array of strings: ["key=value", "key2=value2"]. Afterwards, it was changed a few times and became ["key": "value", "key2": "value2"], which is not a correct JSON. This patch fixes that by constructing a JSON object {} instead of an array []. ASTERISK-25391 #close Reported by: Bojan Nemčić Change-Id: Ibbe93c6a227dff14d4a54b0d152341857bcf6ad8 --- main/manager.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main/manager.c b/main/manager.c index d5e3273f5e..19c00b35bd 100644 --- a/main/manager.c +++ b/main/manager.c @@ -2871,7 +2871,7 @@ static int action_getconfigjson(struct mansession *s, const struct message *m) astman_append(s, "%s\"", comma1 ? "," : ""); astman_append_json(s, category); - astman_append(s, "\":["); + astman_append(s, "\":{"); comma1 = 1; for (v = ast_variable_browse(cfg, category); v; v = v->next) { astman_append(s, "%s\"", comma2 ? "," : ""); @@ -2881,7 +2881,7 @@ static int action_getconfigjson(struct mansession *s, const struct message *m) astman_append(s, "\""); comma2 = 1; } - astman_append(s, "]"); + astman_append(s, "}"); } astman_append(s, "}\r\n\r\n"); -- 2.47.2