[asterisk-commits] snuffy: branch snuffy/ao2_jabber r144416 - in /team/snuffy/ao2_jabber: channe...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Sep 25 06:50:52 CDT 2008


Author: snuffy
Date: Thu Sep 25 06:50:52 2008
New Revision: 144416

URL: http://svn.digium.com/view/asterisk?view=rev&rev=144416
Log:
Almost there with clients.. buddies long away

Modified:
    team/snuffy/ao2_jabber/channels/chan_gtalk.c
    team/snuffy/ao2_jabber/res/res_jabber.c

Modified: team/snuffy/ao2_jabber/channels/chan_gtalk.c
URL: http://svn.digium.com/view/asterisk/team/snuffy/ao2_jabber/channels/chan_gtalk.c?view=diff&rev=144416&r1=144415&r2=144416
==============================================================================
--- team/snuffy/ao2_jabber/channels/chan_gtalk.c (original)
+++ team/snuffy/ao2_jabber/channels/chan_gtalk.c Thu Sep 25 06:50:52 2008
@@ -235,6 +235,8 @@
 
 static void gtalk_member_destroy(struct gtalk *obj)
 {
+	//ao2_t_ref(obj->connection->buddies, -1, "die ref");
+	ao2_t_ref(obj->connection, -1, "die ref");
 	ast_free(obj);
 }
 
@@ -1850,6 +1852,7 @@
 		struct aji_buddy tmp_buddy;
 		ast_copy_string(tmp_buddy.name, member->user, sizeof(tmp_buddy.name));
 		member->buddy = ao2_t_find(member->connection->buddies, &tmp_buddy, OBJ_POINTER, "find buddy");
+		//ao2_t_ref(member->buddy, -1, "create etc");
 	} else {
 		ast_log(LOG_ERROR, "No Connection or Username!\n");
 	}

Modified: team/snuffy/ao2_jabber/res/res_jabber.c
URL: http://svn.digium.com/view/asterisk/team/snuffy/ao2_jabber/res/res_jabber.c?view=diff&rev=144416&r1=144415&r2=144416
==============================================================================
--- team/snuffy/ao2_jabber/res/res_jabber.c (original)
+++ team/snuffy/ao2_jabber/res/res_jabber.c Thu Sep 25 06:50:52 2008
@@ -523,6 +523,7 @@
 	
 	if (!buddy) {
 		ast_log(LOG_WARNING, "Could not find buddy in list: '%s'\n", jid.screenname);
+		client_unref(client, "unref client");
 		return -1;
 	}
 
@@ -536,6 +537,7 @@
 		stat = r->status;
 
 	buddy_unref(buddy,"stat_exec");
+	client_unref(client, "unref client");
 /* END I NEED A FUNCTION */
 	snprintf(status, sizeof(status), "%d", stat);
 	pbx_builtin_setvar_helper(chan, args.variable, status);
@@ -580,6 +582,7 @@
 	buddy = ao2_t_find(client->buddies, &tmp_buddy, OBJ_POINTER, "Find buddy");
 	if (!buddy) {
 		ast_log(LOG_WARNING, "Could not find buddy in list: '%s'\n", jid.screenname);
+		client_unref(client, "unref client");
 		return -1;
 	}
 	r = aji_find_resource(buddy, jid.resource);
@@ -590,6 +593,7 @@
 	else
 		stat = r->status;
 	buddy_unref(buddy,"stat_read");
+	client_unref(client, "unref client");
 /* END I NEED A FUNCTION */
 	snprintf(buf, buflen, "%d", stat);
 	return 0;
@@ -639,6 +643,8 @@
 	}
 	if (strchr(args.recipient, '@') && !ast_strlen_zero(args.message))
 		ast_aji_send_chat(client, args.recipient, args.message);
+	
+	client_unref(client, "unref client");
 	return 0;
 }
 




More information about the asterisk-commits mailing list