Mercurial > pidgin.yaz
changeset 28699:43200ff042ad
Fix sending /buzz on yahoo.
Yahoo buzzes are '<ding>' sent as normal IMs. 'ding' is an unknown tag,
and we were stripping unknown tags. So instead, send the tags we don't
recognize as they are without stripping/changing them.
... or perhaps we could treat 'ding' as a known tag instead?
Added test cases.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Tue, 06 Oct 2009 15:56:43 +0000 |
parents | f7d7cf32a715 |
children | 42fc2fc14db2 |
files | ChangeLog libpurple/protocols/yahoo/util.c libpurple/tests/test_yahoo_util.c |
diffstat | 3 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Sun Oct 04 18:01:35 2009 +0000 +++ b/ChangeLog Tue Oct 06 15:56:43 2009 +0000 @@ -7,6 +7,9 @@ is specified. * Fix a crash when adding a buddy without an '@'. + Yahoo: + * Fix sending /buzz. + General: * New 'plugins' sub-command to 'debug' command (i.e. '/debug plugins') to announce the list of loaded plugins (in both Finch and Pidgin).
--- a/libpurple/protocols/yahoo/util.c Sun Oct 04 18:01:35 2009 +0000 +++ b/libpurple/protocols/yahoo/util.c Tue Oct 06 15:56:43 2009 +0000 @@ -881,6 +881,9 @@ } g_free(etag); } + } else { + /* We don't know what the tag is. Send it unmodified. */ + g_string_append(dest, tag); } i = j;
--- a/libpurple/tests/test_yahoo_util.c Sun Oct 04 18:01:35 2009 +0000 +++ b/libpurple/tests/test_yahoo_util.c Tue Oct 06 15:56:43 2009 +0000 @@ -180,6 +180,12 @@ assert_string_equal_free("\x1B[1mbold \x1B[#FF0000mred <font face=\"Comic Sans MS\" size=\"20\">larger \x1B[#000000mbacktoblack <font size=\"12\">normalsize</font>\x1B[#FF0000m</font>\x1B[#000000m\x1B[x1m", yahoo_html_to_codes("<b>bold <font color=\"#FF0000\">red <font face=\"Comic Sans MS\" size=\"5\">larger <font color=\"#000000\">backtoblack <font size=\"3\">normalsize</font></font></font></font></b>")); + + /* buzz/unknown tags */ + assert_string_equal_free("<ding>", + yahoo_html_to_codes("<ding>")); + assert_string_equal_free("Unknown <tags>", + yahoo_html_to_codes("Unknown <tags>")); } END_TEST