Mercurial > pidgin
comparison src/protocols/irc/parse.c @ 8529:2f505651ac03
[gaim-migrate @ 9268]
This strips mIRC color and formatting codes from topics and provides
a generic function for stripping mirc color codes and returning plain
text (irc_mirc2txt()). This should fix Bug #923672.
committer: Tailor Script <tailor@pidgin.im>
author | Ethan Blanton <elb@pidgin.im> |
---|---|
date | Tue, 30 Mar 2004 17:44:40 +0000 |
parents | 3f384e95c5c0 |
children | 478b6184152d |
comparison
equal
deleted
inserted
replaced
8528:a48da599fd75 | 8529:2f505651ac03 |
---|---|
32 #include <stdlib.h> | 32 #include <stdlib.h> |
33 #include <ctype.h> | 33 #include <ctype.h> |
34 | 34 |
35 static char *irc_send_convert(struct irc_conn *irc, const char *string); | 35 static char *irc_send_convert(struct irc_conn *irc, const char *string); |
36 static char *irc_recv_convert(struct irc_conn *irc, const char *string); | 36 static char *irc_recv_convert(struct irc_conn *irc, const char *string); |
37 | |
38 char *irc_mirc2html(const char *string); | |
39 | 37 |
40 static void irc_parse_error_cb(struct irc_conn *irc, char *input); | 38 static void irc_parse_error_cb(struct irc_conn *irc, char *input); |
41 | 39 |
42 static char *irc_mirc_colors[16] = { | 40 static char *irc_mirc_colors[16] = { |
43 "white", "black", "blue", "dark green", "red", "brown", "purple", | 41 "white", "black", "blue", "dark green", "red", "brown", "purple", |
267 } while (*cur); | 265 } while (*cur); |
268 | 266 |
269 return g_string_free(decoded, FALSE); | 267 return g_string_free(decoded, FALSE); |
270 } | 268 } |
271 | 269 |
270 char *irc_mirc2txt (const char *string) | |
271 { | |
272 char *result = g_strdup (string); | |
273 int i, j; | |
274 | |
275 for (i = 0, j = 0; result[i]; i++) { | |
276 switch (result[i]) { | |
277 case '\002': | |
278 case '\003': | |
279 case '\007': | |
280 case '\017': | |
281 case '\026': | |
282 case '\037': | |
283 continue; | |
284 default: | |
285 result[j++] = result[i]; | |
286 } | |
287 } | |
288 result[i] = '\0'; | |
289 return result; | |
290 } | |
291 | |
272 char *irc_parse_ctcp(struct irc_conn *irc, const char *from, const char *to, const char *msg, int notice) | 292 char *irc_parse_ctcp(struct irc_conn *irc, const char *from, const char *to, const char *msg, int notice) |
273 { | 293 { |
274 GaimConnection *gc; | 294 GaimConnection *gc; |
275 const char *cur = msg + 1; | 295 const char *cur = msg + 1; |
276 char *buf, *ctcp; | 296 char *buf, *ctcp; |