# HG changeset patch # User Sadrul Habib Chowdhury # Date 1222156315 0 # Node ID 2c6c9d72f54f1331a6b0fa7dabdfa28166d4210c # Parent f29588a95ea966fb5aadb5f8ff85be79eba7f5ca A couple of compile warning fixes, a couple of memory leak plugs. diff -r f29588a95ea9 -r 2c6c9d72f54f libpurple/protocols/jabber/data.c --- a/libpurple/protocols/jabber/data.c Tue Sep 23 07:38:47 2008 +0000 +++ b/libpurple/protocols/jabber/data.c Tue Sep 23 07:51:55 2008 +0000 @@ -82,9 +82,10 @@ } -void -jabber_data_delete(JabberData *data) +static void +jabber_data_delete(gpointer cbdata) { + JabberData *data = cbdata; g_free(data->cid); g_free(data->type); g_free(data->data); diff -r f29588a95ea9 -r 2c6c9d72f54f libpurple/protocols/jabber/data.h --- a/libpurple/protocols/jabber/data.h Tue Sep 23 07:38:47 2008 +0000 +++ b/libpurple/protocols/jabber/data.h Tue Sep 23 07:51:55 2008 +0000 @@ -39,8 +39,6 @@ XEP 0231 */ JabberData *jabber_data_create_from_xml(xmlnode *tag); -void jabber_data_delete(JabberData *data); - const char *jabber_data_get_cid(const JabberData *data); const char *jabber_data_get_type(const JabberData *data); @@ -61,7 +59,7 @@ const JabberData *jabber_data_find_local_by_alt(const gchar *alt); const JabberData *jabber_data_find_local_by_cid(const gchar *cid); const JabberData *jabber_data_find_remote_by_cid(const gchar *cid); - + /* store data objects */ void jabber_data_associate_local(JabberData *data, const gchar *alt); void jabber_data_associate_remote(JabberData *data); diff -r f29588a95ea9 -r 2c6c9d72f54f libpurple/protocols/jabber/message.c --- a/libpurple/protocols/jabber/message.c Tue Sep 23 07:38:47 2008 +0000 +++ b/libpurple/protocols/jabber/message.c Tue Sep 23 07:51:55 2008 +0000 @@ -428,13 +428,12 @@ if (g_str_has_prefix(src, "cid:")) { const gchar *alt = xmlnode_get_attrib(img, "alt"); - gchar *escaped = NULL; /* if the "alt" attribute is empty, put the cid as smiley string */ if (alt && alt[0] != '\0') { /* if the "alt" is the same as the CID, as Jabbim does, this prevents linkification... */ if (purple_email_is_valid(alt)) { - const gchar *safe_alt = g_strdup_printf("smiley:%s", alt); + gchar *safe_alt = g_strdup_printf("smiley:%s", alt); out = g_string_append(out, safe_alt); g_free(safe_alt); } else { @@ -596,7 +595,7 @@ const gchar *who = xmlnode_get_attrib(packet, "from"); PurpleAccount *account = purple_connection_get_account(gc); PurpleConversation *conv = NULL; - const GList *smiley_refs = NULL; + GList *smiley_refs = NULL; gchar *reformatted_xhtml; if (purple_account_get_bool(account, "custom_smileys", TRUE)) { @@ -683,7 +682,7 @@ } /* we don't need the list of CIDs anymore */ - for (; smiley_refs ; smiley_refs = g_list_next(smiley_refs)) { + for (; smiley_refs ; smiley_refs = g_list_delete_link(smiley_refs, smiley_refs)) { JabberSmileyRef *ref = (JabberSmileyRef *) smiley_refs->data; g_free(ref->cid); g_free(ref->alt); @@ -888,6 +887,7 @@ g_free(img_text); pos += strlen(escaped); g_free(escaped); + xmlnode_free(img); break; } else { /* cleanup from the before the next round... */