diff options
author | Will Thompson <will.thompson@collabora.co.uk> | 2011-07-25 19:43:10 +0800 |
---|---|---|
committer | Will Thompson <will.thompson@collabora.co.uk> | 2011-07-25 19:43:59 +0800 |
commit | d9bb5b999731c247b845ba7e97393d2e25bcfeca (patch) | |
tree | b6645899df652e284970e67f25c881dc70ad1bef /libempathy-gtk/empathy-account-widget.c | |
parent | dcd8d507b617e5b8fb6cea5a23d61d922bcca3ba (diff) | |
parent | bed17cf9d003db8ecea2fc012cb53ff38554654d (diff) | |
download | gsoc2013-empathy-d9bb5b999731c247b845ba7e97393d2e25bcfeca.tar gsoc2013-empathy-d9bb5b999731c247b845ba7e97393d2e25bcfeca.tar.gz gsoc2013-empathy-d9bb5b999731c247b845ba7e97393d2e25bcfeca.tar.bz2 gsoc2013-empathy-d9bb5b999731c247b845ba7e97393d2e25bcfeca.tar.lz gsoc2013-empathy-d9bb5b999731c247b845ba7e97393d2e25bcfeca.tar.xz gsoc2013-empathy-d9bb5b999731c247b845ba7e97393d2e25bcfeca.tar.zst gsoc2013-empathy-d9bb5b999731c247b845ba7e97393d2e25bcfeca.zip |
Merge branch 'irc-dialog'
Fixes: <https://bugzilla.gnome.org/show_bug.cgi?id=654552>
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
Diffstat (limited to 'libempathy-gtk/empathy-account-widget.c')
-rw-r--r-- | libempathy-gtk/empathy-account-widget.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/libempathy-gtk/empathy-account-widget.c b/libempathy-gtk/empathy-account-widget.c index fcc5769a0..5bdea6aff 100644 --- a/libempathy-gtk/empathy-account-widget.c +++ b/libempathy-gtk/empathy-account-widget.c @@ -172,7 +172,16 @@ static guint signals[LAST_SIGNAL] = { 0 }; /* Based on http://www.ietf.org/rfc/rfc2812.txt (section 2.3.1) */ #define IRC_SPECIAL "_\\[\\]{}\\\\|`^" -#define IRC_USER_NAME "(["ALPHA IRC_SPECIAL"]["ALPHADIGITDASH IRC_SPECIAL"]*)" +#define IRC_NICK_NAME "(["ALPHA IRC_SPECIAL"]["ALPHADIGITDASH IRC_SPECIAL"]*)" +/* user = 1*( %x01-09 / %x0B-0C / %x0E-1F / %x21-3F / %x41-FF ) + * ; any octet except NUL, CR, LF, " " and "@" + * + * so technically, like so many other places in IRC, we should be using arrays + * of bytes here rather than UTF-8 strings. Life: too short. In practice this + * will always be ASCII. + */ +#define IRC_USER_NAME "([^\r\n@ ])+" + /* Based on http://www.ietf.org/rfc/rfc4622.txt (section 2.2) * We just exclude invalid characters to avoid ucschars and other redundant * complexity */ @@ -185,7 +194,8 @@ static guint signals[LAST_SIGNAL] = { 0 }; #define YAHOO_USER_NAME "(["ALPHA"]["ALPHADIGIT"_\\.]{3,31})" #define ACCOUNT_REGEX_ICQ "^"ICQ_USER_NAME"$" -#define ACCOUNT_REGEX_IRC "^"IRC_USER_NAME"$" +#define ACCOUNT_REGEX_IRC "^"IRC_NICK_NAME"$" +#define USERNAME_REGEX_IRC "^"IRC_USER_NAME"$" #define ACCOUNT_REGEX_JABBER "^"JABBER_USER_NAME"@"HOST"$" #define ACCOUNT_REGEX_MSN "^"MSN_USER_NAME"@"HOST"$" #define ACCOUNT_REGEX_YAHOO "^"YAHOO_USER_NAME"$" @@ -1227,6 +1237,8 @@ account_widget_build_irc (EmpathyAccountWidget *self, empathy_account_settings_set_regex (priv->settings, "account", ACCOUNT_REGEX_IRC); + empathy_account_settings_set_regex (priv->settings, "username", + USERNAME_REGEX_IRC); if (priv->simple) { |