# # old_revision [b576470ab9bee5e0b1c48de1e78e3e6234254cdb] # # patch "libpurple/protocols/msnp9/user.c" # from [b166fe2436a48a3a6ddabeaa6491a1daba57b6c5] # to [d5fa240d020a6f90aecb2b07a3bf4ce1a2116e5e] # ============================================================ --- libpurple/protocols/msnp9/user.c b166fe2436a48a3a6ddabeaa6491a1daba57b6c5 +++ libpurple/protocols/msnp9/user.c d5fa240d020a6f90aecb2b07a3bf4ce1a2116e5e @@ -126,16 +126,19 @@ msn_user_set_friendly_name(MsnUser *user 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);