Only update a contact if data changed

This commit is contained in:
James Booth
2012-05-24 00:33:23 +01:00
parent 4b4359d09f
commit fef15b932c
6 changed files with 68 additions and 31 deletions

View File

@@ -23,6 +23,8 @@
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include "contact.h"
struct p_contact_t {
@@ -96,16 +98,11 @@ const char * p_contact_status(const PContact contact)
return contact->status;
}
int p_contact_names_equal(const PContact c1, const PContact c2)
{
return strcmp(c1->name, c2->name);
}
int p_contacts_equal_deep(const PContact c1, const PContact c2)
{
int name_eq = strcmp(c1->name, c2->name);
int show_eq = strcmp(c1->show, c2->show);
int status_eq = strcmp(c1->status, c2->status);
int name_eq = (g_strcmp0(c1->name, c2->name) == 0);
int show_eq = (g_strcmp0(c1->show, c2->show) == 0);
int status_eq = (g_strcmp0(c1->status, c2->status) == 0);
return (name_eq && show_eq && status_eq);
}