]> git.0d.be Git - empathy.git/commitdiff
Rework the link regex to have "(user@server.com)" case work.
authorXavier Claessens <xclaesse@gmail.com>
Wed, 25 Nov 2009 09:19:55 +0000 (10:19 +0100)
committerXavier Claessens <xclaesse@gmail.com>
Wed, 25 Nov 2009 09:19:55 +0000 (10:19 +0100)
libempathy-gtk/empathy-ui-utils.c

index f574686289b06721425af9b65a8c99c4afd1e0b8..c737873d130385f79cb973682b009d68ef61882b 100644 (file)
 #include <libempathy/empathy-idle.h>
 #include <libempathy/empathy-ft-factory.h>
 
-#define SCHEMES   "([a-zA-Z\\+]+)"
-#define BODY_CHAR "[^\\ \\n\"\']"
-#define BODY      "("BODY_CHAR"+)"
-#define END_BODY  "("BODY_CHAR"*[^,;\\:\?><(){}\\[\\]\\ \"\'\\.\\n])"
-#define URI_REGEX "("SCHEMES"://"END_BODY")" \
-                 "|((mailto:)?"BODY"@"BODY"\\."END_BODY")"\
-                 "|((www|ftp)\\."END_BODY")"
+#define SCHEMES           "([a-zA-Z\\+]+)"
+#define INVALID_CHARS     " \n\"'"
+#define INVALID_CHARS_EXT INVALID_CHARS "\\[\\]<>(){},;:?"
+#define BODY              "([^"INVALID_CHARS"]+)"
+#define BODY_END          "([^"INVALID_CHARS"]*)[^"INVALID_CHARS_EXT".]"
+#define BODY_STRICT       "([^"INVALID_CHARS_EXT"]+)"
+#define URI_REGEX         "("SCHEMES"://"BODY_END")" \
+                         "|((www|ftp)\\."BODY_END")" \
+                         "|((mailto:)?"BODY_STRICT"@"BODY"\\."BODY_END")"
 
 void
 empathy_gtk_init (void)