summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2013-09-17 17:22:35 +0200
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2013-09-18 13:20:40 +0200
commitd3d5a783e375764e9b8508ca4b90baee3f265d2f (patch)
treeb5a8b4a3240be27a226261731b6318ceb32ade60
parentd9dd5549573b1423a117744cc4d7573de6619b34 (diff)
downloadtelepathy-haze-d3d5a783e375764e9b8508ca4b90baee3f265d2f.tar.gz
avatars: factor out dup_mime_types()
-rw-r--r--src/connection-avatars.c35
1 files changed, 21 insertions, 14 deletions
diff --git a/src/connection-avatars.c b/src/connection-avatars.c
index a955049..198bf7d 100644
--- a/src/connection-avatars.c
+++ b/src/connection-avatars.c
@@ -32,6 +32,25 @@
#include "debug.h"
static gchar **
+dup_mime_types (PurpleBuddyIconSpec *icon_spec)
+{
+ gchar **mime_types, **i;
+ gchar *format;
+
+ mime_types = g_strsplit (icon_spec->format, ",", 0);
+
+ for (i = mime_types; *i != NULL; i++)
+ {
+ format = *i;
+ /* FIXME: image/ico is not the correct mime type. */
+ *i = g_strconcat ("image/", format, NULL);
+ g_free (format);
+ }
+
+ return mime_types;
+}
+
+static gchar **
_get_acceptable_mime_types (HazeConnection *self)
{
PurplePluginProtocolInfo *prpl_info = HAZE_CONNECTION_GET_PRPL_INFO (self);
@@ -40,20 +59,8 @@ _get_acceptable_mime_types (HazeConnection *self)
if (self->acceptable_avatar_mime_types == NULL)
{
- gchar **mime_types, **i;
- gchar *format;
-
- mime_types = g_strsplit (prpl_info->icon_spec.format, ",", 0);
-
- for (i = mime_types; *i != NULL; i++)
- {
- format = *i;
- /* FIXME: image/ico is not the correct mime type. */
- *i = g_strconcat ("image/", format, NULL);
- g_free (format);
- }
-
- self->acceptable_avatar_mime_types = mime_types;
+ self->acceptable_avatar_mime_types = dup_mime_types (
+ &prpl_info->icon_spec);
}
return self->acceptable_avatar_mime_types;