diff options
author | mogorman <mogorman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-06-27 14:07:24 +0000 |
---|---|---|
committer | mogorman <mogorman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-06-27 14:07:24 +0000 |
commit | 633d18e0156d25dd1490051b693a8566b2859850 (patch) | |
tree | 769bc2426c1631376f14dcb86000b4ec805c097c /res | |
parent | 6c7f748378e4806a5377eb0de664952a6cfcbab9 (diff) |
dont copy an id or a message if they dont exist.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@36175 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rw-r--r-- | res/res_jabber.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/res/res_jabber.c b/res/res_jabber.c index aa0f856da..2218b398c 100644 --- a/res/res_jabber.c +++ b/res/res_jabber.c @@ -1031,12 +1031,14 @@ static void aji_handle_message(struct aji_client *client, ikspak *pak) { struct aji_message *insert, *tmp; int flag = 0; - + if (!(insert = ast_calloc(1, sizeof(struct aji_message)))) return; time(&insert->arrived); - insert->message = ast_strdup(iks_find_cdata(pak->x, "body")); - ast_copy_string(insert->id, pak->id, sizeof(insert->message)); + if(iks_find_cdata(pak->x, "body") + insert->message = ast_strdup(iks_find_cdata(pak->x, "body")); + if(pak->id) + ast_copy_string(insert->id, pak->id, sizeof(insert->message)); insert->from = ast_strdup(pak->from->full); AST_LIST_LOCK(&client->messages); AST_LIST_TRAVERSE_SAFE_BEGIN(&client->messages, tmp, list) { @@ -1942,7 +1944,7 @@ static int aji_test(int fd, int argc, char *argv[]) ast_verbose("\nOooh a working message stack!\n"); AST_LIST_LOCK(&client->messages); AST_LIST_TRAVERSE(&client->messages, tmp, list) { - ast_verbose(" Message from: %s with id %s @ %s %s\n",tmp->from, tmp->id, ctime(&tmp->arrived), tmp->message); + ast_verbose(" Message from: %s with id %s @ %s %s\n",tmp->from, S_OR(tmp->id,""), ctime(&tmp->arrived), S_OR(tmp->message, "")); } AST_LIST_UNLOCK(&client->messages); ASTOBJ_UNREF(client, aji_client_destroy); |