]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
stasis_system: Remove silly usage of RAII_VAR.
authorCorey Farrell <git@cfware.com>
Tue, 9 Jan 2018 16:53:28 +0000 (11:53 -0500)
committerCorey Farrell <git@cfware.com>
Tue, 9 Jan 2018 16:53:28 +0000 (11:53 -0500)
Change-Id: Iedbe5656cee68cd3a96a953558764aa02d4a0c3b

main/stasis_system.c

index 67970bd74883e4c0d110a48285384e6550c36b05..4b2963c4c93d2af1fc9f7bd6b6d9de665e1969b1 100644 (file)
@@ -119,9 +119,9 @@ STASIS_MESSAGE_TYPE_DEFN(ast_cluster_discovery_type);
 
 void ast_system_publish_registry(const char *channeltype, const char *username, const char *domain, const char *status, const char *cause)
 {
-       RAII_VAR(struct ast_json *, registry, 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 *registry;
+       struct ast_json_payload *payload;
+       struct stasis_message *message;
 
        if (!ast_system_registry_type()) {
                return;
@@ -135,15 +135,20 @@ void ast_system_publish_registry(const char *channeltype, const char *username,
                "status", status,
                "cause", S_OR(cause, ""));
 
-       if (!(payload = ast_json_payload_create(registry))) {
+       payload = ast_json_payload_create(registry);
+       ast_json_unref(registry);
+       if (!payload) {
                return;
        }
 
-       if (!(message = stasis_message_create(ast_system_registry_type(), payload))) {
+       message = stasis_message_create(ast_system_registry_type(), payload);
+       ao2_ref(payload, -1);
+       if (!message) {
                return;
        }
 
        stasis_publish(ast_system_topic(), message);
+       ao2_ref(message, -1);
 }
 
 static struct ast_manager_event_blob *system_registry_to_ami(struct stasis_message *message)