diff options
author | Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im> | 2012-07-15 13:05:08 +0200 |
---|---|---|
committer | Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im> | 2012-07-15 13:05:08 +0200 |
commit | 82ba19ea9be5c0ca847e488eda68689cf56f378b (patch) | |
tree | 65ad01e125d735c922753ce17e6c59c8621c3d06 /libpurple/util.c | |
parent | 9de3f0b891ee83f5dac6a3317ddd4af536960e95 (diff) | |
download | pidgin-82ba19ea9be5c0ca847e488eda68689cf56f378b.tar.gz |
Libpurple: username validation support; Pidgin: use it in account setup dialog
Diffstat (limited to 'libpurple/util.c')
-rw-r--r-- | libpurple/util.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/libpurple/util.c b/libpurple/util.c index 3136300a87..96d7095362 100644 --- a/libpurple/util.c +++ b/libpurple/util.c @@ -3487,6 +3487,28 @@ purple_normalize_nocase(const PurpleAccount *account, const char *str) return buf; } +gboolean +purple_validate(const PurplePlugin *prpl, const char *str) +{ + PurplePluginProtocolInfo *prpl_info; + const char *normalized; + + g_return_val_if_fail(prpl != NULL, FALSE); + g_return_val_if_fail(str != NULL, FALSE); + + if (str[0] == '\0') + return FALSE; + + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); + + if (!prpl_info->normalize) + return TRUE; + + normalized = prpl_info->normalize(NULL, str); + + return (NULL != normalized); +} + gchar * purple_strdup_withhtml(const gchar *src) { |