Mercurial > pidgin.yaz
comparison libpurple/protocols/oscar/family_oservice.c @ 26959:ab298d237562
propagate from branch 'im.pidgin.pidgin.2.5.5.veracode' (head 1744a346c5951c97b5d6ec102b49606f3dd918cc)
to branch 'im.pidgin.pidgin' (head f4e1d87650834d9a82d09020df0fb030f25854e0)
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Thu, 14 May 2009 21:16:58 +0000 |
parents | c7ec8f3b39d3 cef8479194c0 |
children | 45583f271c02 |
comparison
equal
deleted
inserted
replaced
25846:c7ec8f3b39d3 | 26959:ab298d237562 |
---|---|
823 * also set 0x0008 and 0x000c. | 823 * also set 0x0008 and 0x000c. |
824 */ | 824 */ |
825 int | 825 int |
826 aim_srv_setextrainfo(OscarData *od, | 826 aim_srv_setextrainfo(OscarData *od, |
827 gboolean seticqstatus, guint32 icqstatus, | 827 gboolean seticqstatus, guint32 icqstatus, |
828 gboolean setavailmsg, const char *availmsg, const char *itmsurl) | 828 gboolean setstatusmsg, const char *statusmsg, const char *itmsurl) |
829 { | 829 { |
830 FlapConnection *conn; | 830 FlapConnection *conn; |
831 ByteStream bs; | 831 ByteStream bs; |
832 aim_snacid_t snacid; | 832 aim_snacid_t snacid; |
833 GSList *tlvlist = NULL; | 833 GSList *tlvlist = NULL; |
849 aim_tlvlist_add_raw(&tlvlist, 0x0011, 0x0005, unknown 0x01 61 10 f6 41); | 849 aim_tlvlist_add_raw(&tlvlist, 0x0011, 0x0005, unknown 0x01 61 10 f6 41); |
850 aim_tlvlist_add_16(&tlvlist, 0x0012, unknown 0x00 00); | 850 aim_tlvlist_add_16(&tlvlist, 0x0012, unknown 0x00 00); |
851 } | 851 } |
852 #endif | 852 #endif |
853 | 853 |
854 if (setavailmsg) | 854 if (setstatusmsg) |
855 { | 855 { |
856 int availmsglen, itmsurllen; | 856 size_t statusmsglen, itmsurllen; |
857 ByteStream tmpbs; | 857 ByteStream tmpbs; |
858 | 858 |
859 availmsglen = (availmsg != NULL) ? strlen(availmsg) : 0; | 859 statusmsglen = (statusmsg != NULL) ? strlen(statusmsg) : 0; |
860 itmsurllen = (itmsurl != NULL) ? strlen(itmsurl) : 0; | 860 itmsurllen = (itmsurl != NULL) ? strlen(itmsurl) : 0; |
861 | 861 |
862 byte_stream_new(&tmpbs, availmsglen + 8 + itmsurllen + 8); | 862 byte_stream_new(&tmpbs, statusmsglen + 8 + itmsurllen + 8); |
863 byte_stream_put16(&tmpbs, 0x0002); | 863 byte_stream_put_bart_asset_str(&tmpbs, 0x0002, statusmsg); |
864 byte_stream_put8(&tmpbs, 0x04); /* Flags */ | 864 byte_stream_put_bart_asset_str(&tmpbs, 0x0009, itmsurl); |
865 byte_stream_put8(&tmpbs, availmsglen + 4); | |
866 byte_stream_put16(&tmpbs, availmsglen); | |
867 if (availmsglen > 0) | |
868 byte_stream_putstr(&tmpbs, availmsg); | |
869 byte_stream_put16(&tmpbs, 0x0000); | |
870 | |
871 byte_stream_put16(&tmpbs, 0x0009); | |
872 byte_stream_put8(&tmpbs, 0x04); /* Flags */ | |
873 byte_stream_put8(&tmpbs, itmsurllen + 4); | |
874 byte_stream_put16(&tmpbs, itmsurllen); | |
875 if (itmsurllen > 0) | |
876 byte_stream_putstr(&tmpbs, itmsurl); | |
877 byte_stream_put16(&tmpbs, 0x0000); | |
878 | 865 |
879 aim_tlvlist_add_raw(&tlvlist, 0x001d, | 866 aim_tlvlist_add_raw(&tlvlist, 0x001d, |
880 byte_stream_curpos(&tmpbs), tmpbs.data); | 867 byte_stream_curpos(&tmpbs), tmpbs.data); |
881 byte_stream_destroy(&tmpbs); | 868 byte_stream_destroy(&tmpbs); |
882 } | 869 } |