Mercurial > pidgin
changeset 22305:bf4902fce6e4
In msimprpl, add msim_is_valid_username() to check whether a username
is valid (not whether it exists). Not used anywhere, but will help #4855.
author | Jeffrey Connelly <jaconnel@calpoly.edu> |
---|---|
date | Sat, 16 Feb 2008 21:29:02 +0000 |
parents | c3dc9e0d2c08 |
children | 7d0e93198c39 3867cef6a0d5 |
files | libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/user.h |
diffstat | 3 files changed, 17 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/myspace/myspace.h Sat Feb 16 21:07:09 2008 +0000 +++ b/libpurple/protocols/myspace/myspace.h Sat Feb 16 21:29:02 2008 +0000 @@ -89,6 +89,9 @@ * warn user that it may be too long. */ #define MSIM_MAX_PASSWORD_LENGTH 10 +/* Maximum length of usernames, when setting. */ +#define MSIM_MAX_USERNAME_LENGTH 25 + /* Build version of MySpaceIM to report to servers (1.0.xxx.0) */ #define MSIM_CLIENT_VERSION 697
--- a/libpurple/protocols/myspace/user.c Sat Feb 16 21:07:09 2008 +0000 +++ b/libpurple/protocols/myspace/user.c Sat Feb 16 21:29:02 2008 +0000 @@ -496,6 +496,19 @@ return strspn(user, "0123456789") == strlen(user); } +/** Return whether a given username is syntactically valid. + * Note: does not actually check that the user exists. */ +gboolean +msim_is_valid_username(const gchar *user) +{ + return !msim_is_userid(user) && /* Not all numeric */ + strlen(user) <= MSIM_MAX_USERNAME_LENGTH + && strspn(user, "0123456789" + "abcdefghijklmnopqrstuvwxyz" + "_" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ") == strlen(user); +} + /** * Check if a string is an email address (contains an @). *
--- a/libpurple/protocols/myspace/user.h Sat Feb 16 21:07:09 2008 +0000 +++ b/libpurple/protocols/myspace/user.h Sat Feb 16 21:29:02 2008 +0000 @@ -51,6 +51,7 @@ gboolean msim_store_user_info(MsimSession *session, MsimMessage *msg, MsimUser *user); gboolean msim_is_userid(const gchar *user); gboolean msim_is_email(const gchar *user); +gboolean msim_is_valid_username(const gchar *user); void msim_lookup_user(MsimSession *session, const gchar *user, MSIM_USER_LOOKUP_CB cb, gpointer data); void msim_set_username_cb(PurpleConnection *gc); void msim_do_not_set_username_cb(PurpleConnection *gc);