Diff between 15954a450ec67b257f745ce2885d7639fff504e3 and 4d96b9beed17138a798ce89b92514888594cdc10

Changed Files

File Additions Deletions Status
obexd/client/map.c +11 -10 modified

Full Patch

diff --git a/obexd/client/map.c b/obexd/client/map.c
index e1f95f1..3feac90 100644
--- a/obexd/client/map.c
+++ b/obexd/client/map.c
@@ -923,21 +923,22 @@ static void parse_recipient_address(struct map_msg *msg, const char *value)
 
 static void parse_type(struct map_msg *msg, const char *value)
 {
-	if (g_strcmp0(msg->type, value) == 0)
-		return;
-
-	g_free(msg->type);
+	const char *type = NULL;
 
 	if (strcasecmp(value, "SMS_GSM") == 0)
-		msg->type = g_strdup("sms-gsm");
+		type = "sms-gsm";
 	else if (strcasecmp(value, "SMS_CDMA") == 0)
-		msg->type = g_strdup("sms-cdma");
+		type = "sms-cdma";
 	else if (strcasecmp(value, "EMAIL") == 0)
-		msg->type = g_strdup("email");
+		type = "email";
 	else if (strcasecmp(value, "MMS") == 0)
-		msg->type = g_strdup("mms");
-	else
-		msg->type = NULL;
+		type = "mms";
+
+	if (g_strcmp0(msg->type, type) == 0)
+		return;
+
+	g_free(msg->type);
+	msg->type = g_strdup(type);
 
 	g_dbus_emit_property_changed(conn, msg->path,
 						MAP_MSG_INTERFACE, "Type");