libpurple/protocols/ircv3/purpleircv3parser.c

changeset 42055
2f5bbcc91854
parent 42023
5bda87b90d8d
child 42275
7568bf87e388
--- a/libpurple/protocols/ircv3/purpleircv3parser.c	Fri Feb 10 03:03:39 2023 -0600
+++ b/libpurple/protocols/ircv3/purpleircv3parser.c	Thu Feb 16 08:13:28 2023 -0600
@@ -267,8 +267,11 @@
 	                                     0, 0, NULL);
 	g_assert(parser->regex_message != NULL);
 
-	parser->regex_tags = g_regex_new("(?:(?<key>[A-Za-z0-9-\\/]+)"
-	                                 "(?:=(?<value>[^\\r\\n;]*))?(?:;|$))",
+	parser->regex_tags = g_regex_new("(?<key>(?<client_prefix>\\+?)"
+	                                        "(?:(?<vendor>[A-Za-z0-9-\\.]+)\\/)?"
+	                                        "(?<key_name>[A-Za-z0-9-]+)"
+	                                 ")"
+	                                 "(?:=(?<value>[^\r\n;]*))?(?:;|$)",
 	                                 0, 0, NULL);
 	g_assert(parser->regex_tags != NULL);
 

mercurial