[evolution-data-server] Make e_contact_photo_copy() public.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Make e_contact_photo_copy() public.
- Date: Tue, 26 Feb 2013 15:27:39 +0000 (UTC)
commit bf59e44b2844f3e4d6957809d66aa0150ebd5faa
Author: Matthew Barnes <mbarnes redhat com>
Date: Tue Feb 26 10:22:03 2013 -0500
Make e_contact_photo_copy() public.
addressbook/libebook-contacts/e-contact.c | 32 +++++++++++++------
addressbook/libebook-contacts/e-contact.h | 1 +
.../libebook-contacts-sections.txt | 1 +
3 files changed, 24 insertions(+), 10 deletions(-)
---
diff --git a/addressbook/libebook-contacts/e-contact.c b/addressbook/libebook-contacts/e-contact.c
index 3239f5c..934496c 100644
--- a/addressbook/libebook-contacts/e-contact.c
+++ b/addressbook/libebook-contacts/e-contact.c
@@ -2199,28 +2199,40 @@ e_contact_photo_free (EContactPhoto *photo)
* Creates a copy of @photo.
*
* Returns: A new #EContactPhoto struct identical to @photo.
+ *
+ * Since: 3.8
**/
-static EContactPhoto *
+EContactPhoto *
e_contact_photo_copy (EContactPhoto *photo)
{
- EContactPhoto *photo2 = g_new0 (EContactPhoto, 1);
+ EContactPhoto *copy;
+
+ g_return_val_if_fail (photo != NULL, NULL);
+
+ copy = g_new0 (EContactPhoto, 1);
+
switch (photo->type) {
case E_CONTACT_PHOTO_TYPE_INLINED:
- photo2->type = E_CONTACT_PHOTO_TYPE_INLINED;
- photo2->data.inlined.mime_type = g_strdup (photo->data.inlined.mime_type);
- photo2->data.inlined.length = photo->data.inlined.length;
- photo2->data.inlined.data = g_malloc (photo2->data.inlined.length);
- memcpy (photo2->data.inlined.data, photo->data.inlined.data, photo->data.inlined.length);
+ copy->type = E_CONTACT_PHOTO_TYPE_INLINED;
+ copy->data.inlined.mime_type =
+ g_strdup (photo->data.inlined.mime_type);
+ copy->data.inlined.length = photo->data.inlined.length;
+ copy->data.inlined.data = g_malloc (copy->data.inlined.length);
+ memcpy (
+ copy->data.inlined.data,
+ photo->data.inlined.data,
+ photo->data.inlined.length);
break;
case E_CONTACT_PHOTO_TYPE_URI:
- photo2->type = E_CONTACT_PHOTO_TYPE_URI;
- photo2->data.uri = g_strdup (photo->data.uri);
+ copy->type = E_CONTACT_PHOTO_TYPE_URI;
+ copy->data.uri = g_strdup (photo->data.uri);
break;
default:
g_warning ("Unknown EContactPhotoType %d", photo->type);
break;
}
- return photo2;
+
+ return copy;
}
/**
diff --git a/addressbook/libebook-contacts/e-contact.h b/addressbook/libebook-contacts/e-contact.h
index 46483ff..e8cf418 100644
--- a/addressbook/libebook-contacts/e-contact.h
+++ b/addressbook/libebook-contacts/e-contact.h
@@ -368,6 +368,7 @@ void e_contact_name_free (EContactName *name);
GType e_contact_photo_get_type (void);
EContactPhoto * e_contact_photo_new (void);
void e_contact_photo_free (EContactPhoto *photo);
+EContactPhoto * e_contact_photo_copy (EContactPhoto *photo);
const guchar * e_contact_photo_get_inlined (EContactPhoto *photo,
gsize *len);
void e_contact_photo_set_inlined (EContactPhoto *photo,
diff --git a/docs/reference/addressbook/libebook-contacts/libebook-contacts-sections.txt
b/docs/reference/addressbook/libebook-contacts/libebook-contacts-sections.txt
index 4e30d4c..8fa7582 100644
--- a/docs/reference/addressbook/libebook-contacts/libebook-contacts-sections.txt
+++ b/docs/reference/addressbook/libebook-contacts/libebook-contacts-sections.txt
@@ -80,6 +80,7 @@ e_contact_name_copy
e_contact_name_free
e_contact_photo_new
e_contact_photo_free
+e_contact_photo_copy
e_contact_photo_get_inlined
e_contact_photo_set_inlined
e_contact_photo_get_mime_type
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]