Mercurial > pidgin
diff libpurple/protocols/oscar/family_oservice.c @ 15627:2261750cf4e9
Allow setting of the iTunes Music Store URL for AIM accounts. It's
similar to your available message. The intention is that you'll
have an itms://itunes.com/link?whatever URL for the song you're
currently listening to.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 13 Feb 2007 06:58:13 +0000 |
parents | 3548e64b0245 |
children | 32c366eeeb99 |
line wrap: on
line diff
--- a/libpurple/protocols/oscar/family_oservice.c Mon Feb 12 08:43:04 2007 +0000 +++ b/libpurple/protocols/oscar/family_oservice.c Tue Feb 13 06:58:13 2007 +0000 @@ -800,7 +800,7 @@ int aim_srv_setextrainfo(OscarData *od, gboolean seticqstatus, guint32 icqstatus, - gboolean setavailmsg, const char *availmsg) + gboolean setavailmsg, const char *availmsg, const char *itmsurl) { FlapConnection *conn; FlapFrame *frame; @@ -828,20 +828,29 @@ if (setavailmsg) { - int availmsglen; + int availmsglen, itmsurllen; ByteStream tmpbs; availmsglen = (availmsg != NULL) ? strlen(availmsg) : 0; + itmsurllen = (itmsurl != NULL) ? strlen(itmsurl) : 0; - byte_stream_new(&tmpbs, availmsglen + 8); + byte_stream_new(&tmpbs, availmsglen + 8 + itmsurllen + 8); byte_stream_put16(&tmpbs, 0x0002); - byte_stream_put8(&tmpbs, 0x04); + byte_stream_put8(&tmpbs, 0x04); /* Flags */ byte_stream_put8(&tmpbs, availmsglen + 4); byte_stream_put16(&tmpbs, availmsglen); if (availmsglen > 0) byte_stream_putstr(&tmpbs, availmsg); byte_stream_put16(&tmpbs, 0x0000); + byte_stream_put16(&tmpbs, 0x0009); + byte_stream_put8(&tmpbs, 0x04); /* Flags */ + byte_stream_put8(&tmpbs, itmsurllen + 4); + byte_stream_put16(&tmpbs, itmsurllen); + if (itmsurllen > 0) + byte_stream_putstr(&tmpbs, itmsurl); + byte_stream_put16(&tmpbs, 0x0000); + aim_tlvlist_add_raw(&tl, 0x001d, byte_stream_curpos(&tmpbs), tmpbs.data); g_free(tmpbs.data);