diff options
author | James Booth <boothj5@gmail.com> | 2013-02-10 02:17:22 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2013-02-10 02:17:22 +0000 |
commit | 84a4ab95459107d50625b3487ad0ffbee78ffe31 (patch) | |
tree | 5b3a0aee76f31d2987fd00be7b10f3b8bad5614d /src/contact.c | |
parent | 84a6ac194972b25c014ecf8d238a13cf153a57fa (diff) | |
download | profani-tty-84a4ab95459107d50625b3487ad0ffbee78ffe31.tar.gz |
Fixed error clearing contact list
Diffstat (limited to 'src/contact.c')
-rw-r--r-- | src/contact.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/contact.c b/src/contact.c index d1929e60..dd0205ee 100644 --- a/src/contact.c +++ b/src/contact.c @@ -65,6 +65,32 @@ p_contact_new(const char * const barejid, const char * const name, (GDestroyNotify)resource_destroy); // TODO, priority, last activity Resource *resource = resource_new("default", presence, status, 0, caps_str); + g_hash_table_insert(contact->resources, strdup(resource->name), resource); + + return contact; +} + +PContact +p_contact_new_subscription(const char * const barejid, + const char * const subscription, gboolean pending_out) +{ + PContact contact = malloc(sizeof(struct p_contact_t)); + contact->barejid = strdup(barejid); + + contact->name = NULL; + + if (subscription != NULL) + contact->subscription = strdup(subscription); + else + contact->subscription = strdup("none"); + + contact->pending_out = pending_out; + contact->last_activity = NULL; + + contact->resources = g_hash_table_new_full(g_str_hash, g_str_equal, free, + (GDestroyNotify)resource_destroy); + // TODO, priority, last activity + Resource *resource = resource_new("default", "offline", NULL, 0, NULL); g_hash_table_insert(contact->resources, resource->name, resource); return contact; |