From 74be3a50d79b7b76f6c567e63c3adc7d3f1f135d Mon Sep 17 00:00:00 2001
From: Richard Mudgett <rmudgett@digium.com>
Date: Tue, 30 Jun 2015 11:14:57 -0500
Subject: [PATCH] res_pjsip_mwi.c: Eliminate a simple RAII_VAR.

Change-Id: Ib1843f81e826a6c760c424c88eb70c350d9d61da
---
 res/res_pjsip_mwi.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/res/res_pjsip_mwi.c b/res/res_pjsip_mwi.c
index 1ed39f5a68..17b07e11c4 100644
--- a/res/res_pjsip_mwi.c
+++ b/res/res_pjsip_mwi.c
@@ -633,10 +633,10 @@ static struct mwi_subscription *mwi_create_subscription(
 static struct mwi_subscription *mwi_subscribe_single(
 	struct ast_sip_endpoint *endpoint, struct ast_sip_subscription *sip_sub, const char *name)
 {
-	RAII_VAR(struct ast_sip_aor *, aor,
-		 ast_sip_location_retrieve_aor(name), ao2_cleanup);
+	struct ast_sip_aor *aor;
 	struct mwi_subscription *sub;
 
+	aor = ast_sip_location_retrieve_aor(name);
 	if (!aor) {
 		/*! I suppose it's possible for the AOR to disappear on us
 		 * between accepting the subscription and sending the first
@@ -647,11 +647,12 @@ static struct mwi_subscription *mwi_subscribe_single(
 		return NULL;
 	}
 
-	if (!(sub = mwi_create_subscription(endpoint, sip_sub))) {
-		return NULL;
+	sub = mwi_create_subscription(endpoint, sip_sub);
+	if (sub) {
+		mwi_on_aor(aor, sub, 0);
 	}
 
-	mwi_on_aor(aor, sub, 0);
+	ao2_ref(aor, -1);
 	return sub;
 }
 
-- 
GitLab