Mercurial > pidgin
changeset 31502:516435ac46a7
Escape the font-size-change character sequences when sending to MXit.
author | andrew.victor@mxit.com |
---|---|
date | Mon, 11 Apr 2011 20:37:42 +0000 |
parents | 12676cfd4a1e |
children | 17875962a0a0 |
files | libpurple/protocols/mxit/markup.c |
diffstat | 1 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/mxit/markup.c Mon Apr 11 18:27:03 2011 +0000 +++ b/libpurple/protocols/mxit/markup.c Mon Apr 11 20:37:42 2011 +0000 @@ -1090,10 +1090,15 @@ } else if ( purple_str_has_prefix( &message[i], "<font size=" ) ) { /* font size */ + int fontsize; + tag = g_new0( struct tag, 1 ); tag->type = MXIT_TAG_SIZE; tagstack = g_list_prepend( tagstack, tag ); // TODO: implement size control + if ( sscanf( &message[i+12], "%i", &fontsize ) ) { + purple_debug_info( MXIT_PLUGIN_ID, "Font size set to %i\n", fontsize ); + } } else if ( purple_str_has_prefix( &message[i], "<font color=" ) ) { /* font colour */ @@ -1146,6 +1151,17 @@ g_string_append_c( mx, message[i] ); /* character to escape */ break; + case '.' : /* might be a MXit font size change, or custom emoticon */ + if ( i + 1 < len ) { + if ( ( message[i+1] == '+' ) || ( message[i+1] == '-' ) ) + g_string_append( mx, "\\." ); /* escape "." */ + else + g_string_append_c( mx, '.' ); + } + else + g_string_append_c( mx, '.' ); + break; + default: g_string_append_c( mx, message[i] ); break;