# HG changeset patch # User Sadrul Habib Chowdhury # Date 1188136950 0 # Node ID c040dac8393445847aef25b71b0a50a83a7c2572 # Parent 64f2262321338aa7b91ca7c980c64fbd9f234976# Parent a1cf5440d945d1de301d197b94d0889324bdfbda merge of '665d20fa5e8c368f876485703c5e3c652c9b44c9' and 'a3219d12613bdcaaca16e9bd9f29cfe6b7fdd72b' diff -r 64f226232133 -r c040dac83934 libpurple/protocols/yahoo/yahoo.c --- a/libpurple/protocols/yahoo/yahoo.c Sun Aug 26 09:41:54 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Sun Aug 26 14:02:30 2007 +0000 @@ -238,14 +238,18 @@ case 8: /* how many online buddies we have */ break; case 7: /* the current buddy */ - if (name && f) /* update the previous buddy before changing the variables */ - yahoo_update_status(gc, name, f); - name = pair->value; - if (name && g_utf8_validate(name, -1, NULL)) + /* update the previous buddy before changing the variables */ + if (f) { + if (message) + yahoo_friend_set_status_message(f, yahoo_string_decode(gc, message, unicode)); + if (name) + yahoo_update_status(gc, name, f); + } + name = message = NULL; + f = NULL; + if (pair->value && g_utf8_validate(pair->value, -1, NULL)) { + name = pair->value; f = yahoo_friend_find_or_new(gc, name); - else { - f = NULL; - name = NULL; } break; case 10: /* state */ @@ -779,7 +783,7 @@ purple_conversation_write(conv, NULL, buf, PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NOTIFY, time(NULL)); g_free(buf); } - + }