# HG changeset patch # User Stu Tomlinson # Date 1196213496 0 # Node ID 4bc7d44f543abf5cc013f7b69de3062aba3fbd64 # Parent f9738214f30824813f1baa2c552bb360b992bfbc Prevent exceeding the server limit on friendly name length when setting buddies friendly names on the server. This should fix at least some (if not all) of the new "Can't connect to MSN OMGWTFBBQ!" problems reported for 2.3.0 diff -r f9738214f308 -r 4bc7d44f543a libpurple/protocols/msnp9/user.c --- 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);