# HG changeset patch # User masca@cpw.pidgin.im # Date 1275035317 0 # Node ID 0201164946a3c36e354e7cf24300c65af74b7a4e # Parent a34622165ecd976b2cfd07668c8d72daf6964bd4 msn_email_is_valid looks a lot like a util function, move it there. diff -r a34622165ecd -r 0201164946a3 libpurple/protocols/msn/contact.c --- a/libpurple/protocols/msn/contact.c Fri May 28 08:21:21 2010 +0000 +++ b/libpurple/protocols/msn/contact.c Fri May 28 08:28:37 2010 +0000 @@ -29,6 +29,7 @@ #include "contact.h" #include "xmlnode.h" #include "group.h" +#include "msnutils.h" #include "soap.h" #include "nexus.h" #include "user.h" diff -r a34622165ecd -r 0201164946a3 libpurple/protocols/msn/msn.c --- a/libpurple/protocols/msn/msn.c Fri May 28 08:21:21 2010 +0000 +++ b/libpurple/protocols/msn/msn.c Fri May 28 08:28:37 2010 +0000 @@ -117,29 +117,6 @@ return buf; } -gboolean -msn_email_is_valid(const char *passport) -{ - if (purple_email_is_valid(passport)) { - /* Special characters aren't allowed in domains, so only go to '@' */ - while (*passport != '@') { - if (*passport == '/') - return FALSE; - else if (*passport == '?') - return FALSE; - else if (*passport == '=') - return FALSE; - /* MSN also doesn't like colons, but that's checked already */ - - passport++; - } - - return TRUE; - } - - return FALSE; -} - static gboolean msn_send_attention(PurpleConnection *gc, const char *username, guint type) { diff -r a34622165ecd -r 0201164946a3 libpurple/protocols/msn/msn.h --- a/libpurple/protocols/msn/msn.h Fri May 28 08:21:21 2010 +0000 +++ b/libpurple/protocols/msn/msn.h Fri May 28 08:28:37 2010 +0000 @@ -117,7 +117,6 @@ ((MSN_CLIENT_ID_VERSION << 24) | \ (MSN_CLIENT_ID_CAPABILITIES)) -gboolean msn_email_is_valid(const char *passport); void msn_set_public_alias(PurpleConnection *gc, const char *alias, PurpleSetPublicAliasSuccessCallback success_cb, diff -r a34622165ecd -r 0201164946a3 libpurple/protocols/msn/msnutils.c --- a/libpurple/protocols/msn/msnutils.c Fri May 28 08:21:21 2010 +0000 +++ b/libpurple/protocols/msn/msnutils.c Fri May 28 08:28:37 2010 +0000 @@ -474,6 +474,29 @@ *ret_port = port; } +gboolean +msn_email_is_valid(const char *passport) +{ + if (purple_email_is_valid(passport)) { + /* Special characters aren't allowed in domains, so only go to '@' */ + while (*passport != '@') { + if (*passport == '/') + return FALSE; + else if (*passport == '?') + return FALSE; + else if (*passport == '=') + return FALSE; + /* MSN also doesn't like colons, but that's checked already */ + + passport++; + } + + return TRUE; + } + + return FALSE; +} + /*************************************************************************** * MSN Challenge Computing Function ***************************************************************************/ diff -r a34622165ecd -r 0201164946a3 libpurple/protocols/msn/msnutils.h --- a/libpurple/protocols/msn/msnutils.h Fri May 28 08:21:21 2010 +0000 +++ b/libpurple/protocols/msn/msnutils.h Fri May 28 08:28:37 2010 +0000 @@ -64,6 +64,15 @@ void msn_parse_socket(const char *str, char **ret_host, int *ret_port); /** + * Verify if the email is a vaild passport. + * + * @param passport The email + * + * @return True if it is a valid passport, else FALSE + */ +gboolean msn_email_is_valid(const char *passport); + +/** * Handle MSN Challenge Computation * This algorithm references * http://imfreedom.org/wiki/index.php/MSN:NS/Challenges diff -r a34622165ecd -r 0201164946a3 libpurple/protocols/msn/userlist.c --- a/libpurple/protocols/msn/userlist.c Fri May 28 08:21:21 2010 +0000 +++ b/libpurple/protocols/msn/userlist.c Fri May 28 08:28:37 2010 +0000 @@ -26,6 +26,7 @@ #include "request.h" #include "msn.h" +#include "msnutils.h" #include "userlist.h" #include "contact.h"