diff libpurple/protocols/msn/msnutils.c @ 30745:0201164946a3

msn_email_is_valid looks a lot like a util function, move it there.
author masca@cpw.pidgin.im
date Fri, 28 May 2010 08:28:37 +0000
parents 5a70b5364229
children 230caecf5435
line wrap: on
line diff
--- 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
  ***************************************************************************/