From c1faa9ecda745818fbdcf5e81b63444eda66785a Mon Sep 17 00:00:00 2001 From: "Joshua C. Colp" Date: Mon, 16 Dec 2019 21:18:37 -0400 Subject: [PATCH] json: Support older jansson versions. The use of '?' is a fairly new addition to jansson and is not supported in the version of jansson that can be used by 13. This change returns to previous supported behavior and removes usage of '?'. ASTERISK-28663 Change-Id: I6d596007ae85e8724d928865d99968f679be1142 --- main/json.c | 10 +++++----- res/res_stasis_playback.c | 2 +- res/res_stasis_recording.c | 2 +- res/stasis/app.c | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/main/json.c b/main/json.c index 16137e0c20..dd2910e8a4 100644 --- a/main/json.c +++ b/main/json.c @@ -895,12 +895,12 @@ struct ast_json *ast_json_name_number(const char *name, const char *number) struct ast_json *ast_json_dialplan_cep_app( const char *context, const char *exten, int priority, const char *app_name, const char *app_data) { - return ast_json_pack("{s: s?, s: s?, s: o, s: s?, s: s?}", - "context", context, - "exten", exten, + return ast_json_pack("{s: o, s: o, s: o, s: o, s: o}", + "context", context ? ast_json_string_create(context) : ast_json_null(), + "exten", exten ? ast_json_string_create(exten) : ast_json_null(), "priority", priority != -1 ? ast_json_integer_create(priority) : ast_json_null(), - "app_name", app_name, - "app_data", app_data + "app_name", app_name ? ast_json_string_create(app_name) : ast_json_null(), + "app_data", app_data ? ast_json_string_create(app_data) : ast_json_null() ); } diff --git a/res/res_stasis_playback.c b/res/res_stasis_playback.c index 8145e400c4..9e8311fb89 100644 --- a/res/res_stasis_playback.c +++ b/res/res_stasis_playback.c @@ -105,7 +105,7 @@ static struct ast_json *playback_to_json(struct stasis_message *message, return NULL; } - return ast_json_pack("{s: s, s: o?, s: O}", + return ast_json_pack("{s: s, s: o, s: O}", "type", type, "timestamp", ast_json_timeval(*stasis_message_timestamp(message), NULL), "playback", blob); diff --git a/res/res_stasis_recording.c b/res/res_stasis_recording.c index c21af2ae02..48057031ad 100644 --- a/res/res_stasis_recording.c +++ b/res/res_stasis_recording.c @@ -91,7 +91,7 @@ static struct ast_json *recording_to_json(struct stasis_message *message, return NULL; } - return ast_json_pack("{s: s, s: o?, s: O}", + return ast_json_pack("{s: s, s: o, s: O}", "type", type, "timestamp", ast_json_timeval(*stasis_message_timestamp(message), NULL), "recording", blob); diff --git a/res/stasis/app.c b/res/stasis/app.c index 8e719a16aa..c1b7fae3a0 100644 --- a/res/stasis/app.c +++ b/res/stasis/app.c @@ -1164,7 +1164,7 @@ void app_update(struct stasis_app *app, stasis_app_cb handler, void *data) ast_verb(1, "Replacing Stasis app '%s'\n", app->name); - msg = ast_json_pack("{s: s, s: o?, s: s}", + msg = ast_json_pack("{s: s, s: o, s: s}", "type", "ApplicationReplaced", "timestamp", ast_json_timeval(ast_tvnow(), NULL), "application", app->name);