libpurple/protocols/msnp9/user.c

changeset 21787
0bb295566940
parent 21674
7e183cd7e0b5
child 21798
79cc34f7862b
--- a/libpurple/protocols/msnp9/user.c	Wed Nov 28 01:30:35 2007 +0000
+++ b/libpurple/protocols/msnp9/user.c	Wed Nov 28 01:31:36 2007 +0000
@@ -126,16 +126,19 @@
 msn_user_set_friendly_name(MsnUser *user, const char *name)
 {
 	MsnCmdProc *cmdproc;
+	const char *encoded;
 
 	g_return_if_fail(user != NULL);
 
-	if (user->friendly_name && strcmp(user->friendly_name, name)) {
+	encoded = purple_url_encode(name);
+
+	if (user->friendly_name && strcmp(user->friendly_name, name) && (strlen(encoded) < 387)) {
 		/* 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));
+						 encoded);
 	}
 
 	g_free(user->friendly_name);

mercurial