summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Aurich <darkrain42@pidgin.im>2009-04-26 23:57:55 +0000
committerPaul Aurich <darkrain42@pidgin.im>2009-04-26 23:57:55 +0000
commitff40291ccc5f826d24adf2721801d921dca88b35 (patch)
tree789c1b91d98e1f5ef8993d376b34b612142d3207
parenta37087763b0bc63b800dabf1888dd8976fd118ab (diff)
downloadpidgin-ff40291ccc5f826d24adf2721801d921dca88b35.tar.gz
Use jabber_calculate_data_sha1sum in one more place.
-rw-r--r--libpurple/protocols/jabber/presence.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/libpurple/protocols/jabber/presence.c b/libpurple/protocols/jabber/presence.c
index 9a514b814c..72bd234e9f 100644
--- a/libpurple/protocols/jabber/presence.c
+++ b/libpurple/protocols/jabber/presence.c
@@ -359,8 +359,6 @@ jabber_vcard_parse_avatar(JabberStream *js, const char *from,
JabberBuddy *jb = NULL;
xmlnode *vcard, *photo, *binval;
char *text;
- guchar *data;
- gsize size;
if(!from)
return;
@@ -375,19 +373,15 @@ jabber_vcard_parse_avatar(JabberStream *js, const char *from,
(( (binval = xmlnode_get_child(photo, "BINVAL")) &&
(text = xmlnode_get_data(binval))) ||
(text = xmlnode_get_data(photo)))) {
- unsigned char hashval[20];
- char hash[41], *p;
- int i;
+ guchar *data;
+ gchar *hash;
+ gsize size;
data = purple_base64_decode(text, &size);
-
- purple_cipher_digest_region("sha1", data, size,
- sizeof(hashval), hashval, NULL);
- p = hash;
- for(i=0; i<20; i++, p+=2)
- snprintf(p, 3, "%02x", hashval[i]);
+ hash = jabber_calculate_data_sha1sum(data, size);
purple_buddy_icons_set_for_user(js->gc->account, from, data, size, hash);
+ g_free(hash);
g_free(text);
}
}