fixes some issues with description loggin on presence

as well as some typos.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matt O'Gorman
2006-06-06 19:51:26 +00:00
parent 835c77ccfa
commit 6c0155e6cb
2 changed files with 9 additions and 4 deletions

View File

@@ -104,7 +104,7 @@ static char reload_usage[] =
static char test_usage[] =
"Usage: JABBER test [client]\n"
" Sends test massage for debugging purposes. A specific client\n"
" Sends test message for debugging purposes. A specific client\n"
" as configured in jabber.conf can be optionally specified.\n";
static struct ast_cli_entry aji_cli[] = {
@@ -169,6 +169,7 @@ static void aji_buddy_destroy(struct aji_buddy *obj)
while ((tmp = obj->resources)) {
obj->resources = obj->resources->next;
free(tmp->description);
free(tmp);
}
@@ -1015,7 +1016,7 @@ static void aji_handle_presence(struct aji_client *client, ikspak *pak)
int status, priority;
struct aji_buddy *buddy = NULL;
struct aji_resource *tmp = NULL, *last = NULL, *found = NULL;
char *ver, *node;
char *ver, *node, *descrip;
if(client->state != AJI_CONNECTED) {
buddy = (struct aji_buddy *) malloc(sizeof(struct aji_buddy));
@@ -1048,10 +1049,13 @@ static void aji_handle_presence(struct aji_client *client, ikspak *pak)
status = (pak->show) ? pak->show : 6;
priority = atoi((iks_find_cdata(pak->x, "priority")) ? iks_find_cdata(pak->x, "priority") : "0");
tmp = buddy->resources;
descrip = ast_strdup(iks_find_cdata(pak->x,"status"));
while (tmp) {
if (!strcasecmp(tmp->resource, pak->from->resource)) {
tmp->status = status;
if (tmp->description) free(tmp->description);
tmp->description = descrip;
found = tmp;
if (status == 6) { /* Sign off Destroy resource */
if (last && found->next) {
@@ -1114,6 +1118,7 @@ static void aji_handle_presence(struct aji_client *client, ikspak *pak)
}
ast_copy_string(found->resource, pak->from->resource, sizeof(found->resource));
found->status = status;
found->description = descrip;
found->priority = priority;
found->next = NULL;
last = NULL;