summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2017-11-21 08:52:20 -0600
committerGerrit Code Review <gerrit2@gerrit.digium.api>2017-11-21 08:52:20 -0600
commitd92b7863594577456ae1c863fe917855757e0b58 (patch)
tree5ef5588a84e6277fcf352f642ad93d529eeee930 /main
parent65606471dd904c08fc89b10d79de340f4ac24d2f (diff)
parent9f460c8efd33f1472804746d73212b5fb4f41821 (diff)
Merge "ccss: Remove silly usage of RAII_VAR." into 15
Diffstat (limited to 'main')
-rw-r--r--main/ccss.c47
1 files changed, 32 insertions, 15 deletions
diff --git a/main/ccss.c b/main/ccss.c
index a9d15b072..445de93e0 100644
--- a/main/ccss.c
+++ b/main/ccss.c
@@ -1022,9 +1022,9 @@ void ast_set_cc_callback_sub(struct ast_cc_config_params *config, const char * c
static int cc_publish(struct stasis_message_type *message_type, int core_id, struct ast_json *extras)
{
- RAII_VAR(struct ast_json *, blob, NULL, ast_json_unref);
- RAII_VAR(struct ast_json_payload *, payload, NULL, ao2_cleanup);
- RAII_VAR(struct stasis_message *, message, NULL, ao2_cleanup);
+ struct ast_json *blob;
+ struct ast_json_payload *payload;
+ struct stasis_message *message;
if (!message_type) {
return -1;
@@ -1040,121 +1040,138 @@ static int cc_publish(struct stasis_message_type *message_type, int core_id, str
ast_json_object_update(blob, extras);
}
- if (!(payload = ast_json_payload_create(blob))) {
+ payload = ast_json_payload_create(blob);
+ ast_json_unref(blob);
+
+ if (!payload) {
return -1;
}
- if (!(message = stasis_message_create(message_type, payload))) {
+ message = stasis_message_create(message_type, payload);
+ ao2_ref(payload, -1);
+
+ if (!message) {
return -1;
}
stasis_publish(ast_system_topic(), message);
+ ao2_ref(message, -1);
return 0;
}
static void cc_publish_available(int core_id, const char *callee, const char *service)
{
- RAII_VAR(struct ast_json *, extras, NULL, ast_json_unref);
+ struct ast_json *extras;
extras = ast_json_pack("{s: s, s: s}",
"callee", callee,
"service", service);
cc_publish(ast_cc_available_type(), core_id, extras);
+ ast_json_unref(extras);
}
static void cc_publish_offertimerstart(int core_id, const char *caller, unsigned int expires)
{
- RAII_VAR(struct ast_json *, extras, NULL, ast_json_unref);
+ struct ast_json *extras;
extras = ast_json_pack("{s: s, s: i}",
"caller", caller,
"expires", expires);
cc_publish(ast_cc_offertimerstart_type(), core_id, extras);
+ ast_json_unref(extras);
}
static void cc_publish_requested(int core_id, const char *caller, const char *callee)
{
- RAII_VAR(struct ast_json *, extras, NULL, ast_json_unref);
+ struct ast_json *extras;
extras = ast_json_pack("{s: s, s: s}",
"caller", caller,
"callee", callee);
cc_publish(ast_cc_requested_type(), core_id, extras);
+ ast_json_unref(extras);
}
static void cc_publish_requestacknowledged(int core_id, const char *caller)
{
- RAII_VAR(struct ast_json *, extras, NULL, ast_json_unref);
+ struct ast_json *extras;
extras = ast_json_pack("{s: s}",
"caller", caller);
cc_publish(ast_cc_requestacknowledged_type(), core_id, extras);
+ ast_json_unref(extras);
}
static void cc_publish_callerstopmonitoring(int core_id, const char *caller)
{
- RAII_VAR(struct ast_json *, extras, NULL, ast_json_unref);
+ struct ast_json *extras;
extras = ast_json_pack("{s: s}",
"caller", caller);
cc_publish(ast_cc_callerstopmonitoring_type(), core_id, extras);
+ ast_json_unref(extras);
}
static void cc_publish_callerstartmonitoring(int core_id, const char *caller)
{
- RAII_VAR(struct ast_json *, extras, NULL, ast_json_unref);
+ struct ast_json *extras;
extras = ast_json_pack("{s: s}",
"caller", caller);
cc_publish(ast_cc_callerstartmonitoring_type(), core_id, extras);
+ ast_json_unref(extras);
}
static void cc_publish_callerrecalling(int core_id, const char *caller)
{
- RAII_VAR(struct ast_json *, extras, NULL, ast_json_unref);
+ struct ast_json *extras;
extras = ast_json_pack("{s: s}",
"caller", caller);
cc_publish(ast_cc_callerrecalling_type(), core_id, extras);
+ ast_json_unref(extras);
}
static void cc_publish_recallcomplete(int core_id, const char *caller)
{
- RAII_VAR(struct ast_json *, extras, NULL, ast_json_unref);
+ struct ast_json *extras;
extras = ast_json_pack("{s: s}",
"caller", caller);
cc_publish(ast_cc_recallcomplete_type(), core_id, extras);
+ ast_json_unref(extras);
}
static void cc_publish_failure(int core_id, const char *caller, const char *reason)
{
- RAII_VAR(struct ast_json *, extras, NULL, ast_json_unref);
+ struct ast_json *extras;
extras = ast_json_pack("{s: s, s: s}",
"caller", caller,
"reason", reason);
cc_publish(ast_cc_failure_type(), core_id, extras);
+ ast_json_unref(extras);
}
static void cc_publish_monitorfailed(int core_id, const char *callee)
{
- RAII_VAR(struct ast_json *, extras, NULL, ast_json_unref);
+ struct ast_json *extras;
extras = ast_json_pack("{s: s}",
"callee", callee);
cc_publish(ast_cc_monitorfailed_type(), core_id, extras);
+ ast_json_unref(extras);
}
struct cc_monitor_backend {