libpurple/purplecontactinfo.c

changeset 42767
8cf1d11b59c1
parent 42624
931b9adb4ab5
child 42932
766a92094ed2
--- a/libpurple/purplecontactinfo.c	Fri May 10 01:10:09 2024 -0500
+++ b/libpurple/purplecontactinfo.c	Mon May 13 23:28:20 2024 -0500
@@ -126,13 +126,7 @@
 		name_for_display = priv->id;
 	}
 
-	if(!purple_strequal(name_for_display, priv->name_for_display)) {
-		/* If we have a new name for display, free the old one, dup the new one
-		 * into the struct, and then emit the notify signal.
-		 */
-		g_free(priv->name_for_display);
-		priv->name_for_display = g_strdup(name_for_display);
-
+	if(g_set_str(&priv->name_for_display, name_for_display)) {
 		g_object_notify_by_pspec(G_OBJECT(info),
 		                         properties[PROP_NAME_FOR_DISPLAY]);
 	}
@@ -702,18 +696,12 @@
 void
 purple_contact_info_set_id(PurpleContactInfo *info, const gchar *id) {
 	PurpleContactInfoPrivate *priv = NULL;
-	gboolean changed = FALSE;
 
 	g_return_if_fail(PURPLE_IS_CONTACT_INFO(info));
 
 	priv = purple_contact_info_get_instance_private(info);
 
-	changed = !purple_strequal(priv->id, id);
-
-	g_free(priv->id);
-	priv->id = g_strdup(id);
-
-	if(changed) {
+	if(g_set_str(&priv->id, id)) {
 		g_object_freeze_notify(G_OBJECT(info));
 
 		g_object_notify_by_pspec(G_OBJECT(info), properties[PROP_ID]);
@@ -740,18 +728,12 @@
                                  const gchar *username)
 {
 	PurpleContactInfoPrivate *priv = NULL;
-	gboolean changed = FALSE;
 
 	g_return_if_fail(PURPLE_IS_CONTACT_INFO(info));
 
 	priv = purple_contact_info_get_instance_private(info);
 
-	changed = !purple_strequal(priv->username, username);
-
-	g_free(priv->username);
-	priv->username = g_strdup(username);
-
-	if(changed) {
+	if(g_set_str(&priv->username, username)) {
 		g_object_freeze_notify(G_OBJECT(info));
 
 		g_object_notify_by_pspec(G_OBJECT(info), properties[PROP_USERNAME]);
@@ -778,18 +760,12 @@
                                      const gchar *display_name)
 {
 	PurpleContactInfoPrivate *priv = NULL;
-	gboolean changed = FALSE;
 
 	g_return_if_fail(PURPLE_IS_CONTACT_INFO(info));
 
 	priv = purple_contact_info_get_instance_private(info);
 
-	changed = !purple_strequal(priv->display_name, display_name);
-
-	g_free(priv->display_name);
-	priv->display_name = g_strdup(display_name);
-
-	if(changed) {
+	if(g_set_str(&priv->display_name, display_name)) {
 		g_object_freeze_notify(G_OBJECT(info));
 
 		g_object_notify_by_pspec(G_OBJECT(info), properties[PROP_DISPLAY_NAME]);
@@ -814,18 +790,12 @@
 void
 purple_contact_info_set_alias(PurpleContactInfo *info, const gchar *alias) {
 	PurpleContactInfoPrivate *priv = NULL;
-	gboolean changed = FALSE;
 
 	g_return_if_fail(PURPLE_IS_CONTACT_INFO(info));
 
 	priv = purple_contact_info_get_instance_private(info);
 
-	changed = !purple_strequal(priv->alias, alias);
-
-	g_free(priv->alias);
-	priv->alias = g_strdup(alias);
-
-	if(changed) {
+	if(g_set_str(&priv->alias, alias)) {
 		g_object_freeze_notify(G_OBJECT(info));
 
 		g_object_notify_by_pspec(G_OBJECT(info), properties[PROP_ALIAS]);
@@ -855,10 +825,7 @@
 
 	priv = purple_contact_info_get_instance_private(info);
 
-	if(!purple_strequal(priv->color, color)) {
-		g_free(priv->color);
-		priv->color = g_strdup(color);
-
+	if(g_set_str(&priv->color, color)) {
 		g_object_notify_by_pspec(G_OBJECT(info), properties[PROP_COLOR]);
 	}
 }
@@ -882,10 +849,7 @@
 
 	priv = purple_contact_info_get_instance_private(info);
 
-	if(!purple_strequal(priv->email, email)) {
-		g_free(priv->email);
-		priv->email = g_strdup(email);
-
+	if(g_set_str(&priv->email, email)) {
 		g_object_notify_by_pspec(G_OBJECT(info), properties[PROP_EMAIL]);
 	}
 }
@@ -911,10 +875,7 @@
 
 	priv = purple_contact_info_get_instance_private(info);
 
-	if(!purple_strequal(priv->phone_number, phone_number)) {
-		g_free(priv->phone_number);
-		priv->phone_number = g_strdup(phone_number);
-
+	if(g_set_str(&priv->phone_number, phone_number)) {
 		g_object_notify_by_pspec(G_OBJECT(info),
 		                         properties[PROP_PHONE_NUMBER]);
 	}
@@ -974,10 +935,7 @@
 
 	priv = purple_contact_info_get_instance_private(info);
 
-	if(!purple_strequal(priv->note, note)) {
-		g_free(priv->note);
-		priv->note = g_strdup(note);
-
+	if(g_set_str(&priv->note, note)) {
 		g_object_notify_by_pspec(G_OBJECT(info), properties[PROP_NOTE]);
 	}
 }
@@ -1117,10 +1075,7 @@
 
 	priv = purple_contact_info_get_instance_private(info);
 
-	if(!purple_strequal(priv->sid, sid)) {
-		g_free(priv->sid);
-		priv->sid = g_strdup(sid);
-
+	if(g_set_str(&priv->sid, sid)) {
 		g_object_notify_by_pspec(G_OBJECT(info), properties[PROP_SID]);
 	}
 }

mercurial