diff src/buddyicon.c @ 10953:e8e535ad720b

[gaim-migrate @ 12753] sf patch #1211718, from Richard Laager "Set Extension for Saving Buddy Icons" committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 31 May 2005 23:48:54 +0000
parents 185ca25b5c7e
children dd5c802baf7b
line wrap: on
line diff
--- a/src/buddyicon.c	Tue May 31 23:40:57 2005 +0000
+++ b/src/buddyicon.c	Tue May 31 23:48:54 2005 +0000
@@ -331,6 +331,32 @@
 	return icon->data;
 }
 
+const char *
+gaim_buddy_icon_get_type(const GaimBuddyIcon *icon)
+{
+	const void *data;
+	size_t len;
+
+	g_return_val_if_fail(icon != NULL, NULL);
+
+	data = gaim_buddy_icon_get_data(icon, &len);
+
+	/* TODO: Find a way to do this with GDK */
+	if (len >= 4)
+	{
+		if (!strncmp(data, "BM", 2))
+			return "bmp";
+		else if (!strncmp(data, "GIF8", 4))
+			return "gif";
+		else if (!strncmp(data, "\xff\xd8\xff\xe0", 4))
+			return "jpg";
+		else if (!strncmp(data, "\x89PNG", 4))
+			return "png";
+	}
+
+	return NULL;
+}
+
 void
 gaim_buddy_icons_set_for_user(GaimAccount *account, const char *username,
 							  void *icon_data, size_t icon_len)