summaryrefslogtreecommitdiff
path: root/libpurple/util.c
diff options
context:
space:
mode:
authorTomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>2012-07-15 13:05:08 +0200
committerTomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>2012-07-15 13:05:08 +0200
commit82ba19ea9be5c0ca847e488eda68689cf56f378b (patch)
tree65ad01e125d735c922753ce17e6c59c8621c3d06 /libpurple/util.c
parent9de3f0b891ee83f5dac6a3317ddd4af536960e95 (diff)
downloadpidgin-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.c22
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)
{