diff libpurple/protocols/msnp9/user.c @ 21589:af5de2b08fe0

QuLogic submitted this patch a long time ago, References #2571. I believe we need to do something for MSNP14 as well, but I haven't figured out exactly what
author Ka-Hing Cheung <khc@hxbc.us>
date Mon, 19 Nov 2007 07:56:50 +0000
parents a07cfce78345
children 4bc7d44f543a
line wrap: on
line diff
--- a/libpurple/protocols/msnp9/user.c	Mon Nov 19 07:44:51 2007 +0000
+++ b/libpurple/protocols/msnp9/user.c	Mon Nov 19 07:56:50 2007 +0000
@@ -27,7 +27,7 @@
 
 MsnUser *
 msn_user_new(MsnUserList *userlist, const char *passport,
-			 const char *store_name)
+			 const char *friendly_name)
 {
 	MsnUser *user;
 
@@ -36,16 +36,7 @@
 	user->userlist = userlist;
 
 	msn_user_set_passport(user, passport);
-	msn_user_set_store_name(user, store_name);
-
-	/*
-	 * XXX This seems to reset the friendly name from what it should be
-	 *     to the passport when moving users. So, screw it :)
-	 */
-#if 0
-	if (name != NULL)
-		msn_user_set_name(user, name);
-#endif
+	msn_user_set_friendly_name(user, friendly_name);
 
 	return user;
 }
@@ -66,7 +57,6 @@
 
 	g_free(user->passport);
 	g_free(user->friendly_name);
-	g_free(user->store_name);
 	g_free(user->phone.home);
 	g_free(user->phone.work);
 	g_free(user->phone.mobile);
@@ -135,22 +125,24 @@
 void
 msn_user_set_friendly_name(MsnUser *user, const char *name)
 {
+	MsnCmdProc *cmdproc;
+
 	g_return_if_fail(user != NULL);
 
+	if (user->friendly_name && strcmp(user->friendly_name, name)) {
+		/* copy the new name to the server list, but only when new */
+		/* should we check this more thoroughly? */
+		cmdproc = user->userlist->session->notification->cmdproc;
+		msn_cmdproc_send(cmdproc, "REA", "%s %s",
+						 user->passport,
+						 purple_url_encode(name));
+	}
+
 	g_free(user->friendly_name);
 	user->friendly_name = g_strdup(name);
 }
 
 void
-msn_user_set_store_name(MsnUser *user, const char *name)
-{
-	g_return_if_fail(user != NULL);
-
-	g_free(user->store_name);
-	user->store_name = g_strdup(name);
-}
-
-void
 msn_user_set_buddy_icon(MsnUser *user, PurpleStoredImage *img)
 {
 	MsnObject *msnobj = msn_user_get_object(user);
@@ -344,14 +336,6 @@
 }
 
 const char *
-msn_user_get_store_name(const MsnUser *user)
-{
-	g_return_val_if_fail(user != NULL, NULL);
-
-	return user->store_name;
-}
-
-const char *
 msn_user_get_home_phone(const MsnUser *user)
 {
 	g_return_val_if_fail(user != NULL, NULL);