ccss: Remove silly usage of RAII_VAR.
authorCorey Farrell <git@cfware.com>
Thu, 16 Nov 2017 19:19:19 +0000 (14:19 -0500)
committerCorey Farrell <git@cfware.com>
Mon, 20 Nov 2017 20:26:11 +0000 (14:26 -0600)
Change-Id: I5ce40035e0a940e4e56f6322c1dcd47fbd509b98

main/ccss.c

index a9d15b0..445de93 100644 (file)
@@ -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 {