Mercurial > pidgin.yaz
diff libpurple/protocols/oscar/flap_connection.c @ 27505:5048054d319a
Use the ui_info hash table instead of prefs when passing the clientstring
and distid from the UIs to the oscar prpl. I realized that using a pref
wasn't great because it's persistent, and if you switch from a UI that
sets one of those strings to a UI that doesn't hen we'll keep using the
old value.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Wed, 08 Jul 2009 20:11:07 +0000 |
parents | f541583e31bd |
children | 74e487f82f39 |
line wrap: on
line diff
--- a/libpurple/protocols/oscar/flap_connection.c Wed Jul 08 19:46:50 2009 +0000 +++ b/libpurple/protocols/oscar/flap_connection.c Wed Jul 08 20:11:07 2009 +0000 @@ -77,14 +77,19 @@ { FlapFrame *frame; GSList *tlvlist = NULL; + const char *clientstring; frame = flap_frame_new(od, 0x01, 1152 + length); byte_stream_put32(&frame->data, 0x00000001); /* FLAP Version */ aim_tlvlist_add_raw(&tlvlist, 0x0006, length, chipsahoy); - if (ci->clientstring) - aim_tlvlist_add_str(&tlvlist, 0x0003, ci->clientstring); + clientstring = oscar_get_ui_info_string( + od->icq ? "prpl-icq-clientstring" : "prpl-aim-clientstring", + ci->clientstring); + + if (clientstring != NULL) + aim_tlvlist_add_str(&tlvlist, 0x0003, clientstring); aim_tlvlist_add_16(&tlvlist, 0x0017, (guint16)ci->major); aim_tlvlist_add_16(&tlvlist, 0x0018, (guint16)ci->minor); aim_tlvlist_add_16(&tlvlist, 0x0019, (guint16)ci->point);