changeset 5948:1bebb8345bde

[gaim-migrate @ 6392] I'm just going to commit these small changes before I start ripping stuff apart trying to get available messages to work. It'll be fun, you'll see. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 24 Jun 2003 03:49:11 +0000
parents ac4dd1d0ee39
children 90d0849abd3c
files src/protocols/oscar/bos.c src/protocols/oscar/oscar.c src/protocols/oscar/service.c
diffstat 3 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/oscar/bos.c	Mon Jun 23 07:09:30 2003 +0000
+++ b/src/protocols/oscar/bos.c	Tue Jun 24 03:49:11 2003 +0000
@@ -1,6 +1,7 @@
 /*
  * Family 0x0009 - Basic Oscar Service.
  *
+ * The functionality of this family has been replaced by SSI.
  */
 
 #define FAIM_INTERNAL
--- a/src/protocols/oscar/oscar.c	Mon Jun 23 07:09:30 2003 +0000
+++ b/src/protocols/oscar/oscar.c	Tue Jun 24 03:49:11 2003 +0000
@@ -3717,7 +3717,7 @@
 	aim_bos_reqlocaterights(sess, fr->conn);
 	aim_bos_reqbuddyrights(sess, fr->conn);
 	aim_im_reqparams(sess);
-	aim_bos_reqrights(sess, fr->conn);
+	aim_bos_reqrights(sess, fr->conn); /* XXX - Don't call this with ssi? */
 
 #ifdef NOSSI
 	aim_bos_setgroupperm(sess, fr->conn, AIM_FLAG_ALLUSERS);
@@ -3816,7 +3816,7 @@
 	if (od->icq)
 		aim_bos_setprofile(sess, fr->conn, NULL, NULL, 0, NULL, NULL, 0, caps_icq);
 	else
-		oscar_set_info(gc, gc->account->user_info);
+		oscar_set_info(gc, gc->account->user_info); /* XXX - unneeded? */
 
 	return 1;
 }
@@ -3864,7 +3864,7 @@
 	gaim_debug(GAIM_DEBUG_INFO, "oscar", "buddy list loaded\n");
 
 	aim_clientready(sess, fr->conn);
-/*	aim_srv_setavailmsg(sess, NULL); */
+	aim_srv_setavailmsg(sess, NULL);
 	aim_bos_setidle(sess, fr->conn, 0);
 
 	if (od->icq) {
@@ -5390,7 +5390,7 @@
 				free(tmp);
 			}
 
-			if (bi->availablemsg) {
+			if (bi->availablemsg && !(b->uc & UC_UNAVAILABLE)) {
 				tmp = yay;
 				yay = g_strconcat(tmp, _("<b>Available:</b> "), bi->availablemsg, "\n", NULL);
 				free(tmp);
--- a/src/protocols/oscar/service.c	Mon Jun 23 07:09:30 2003 +0000
+++ b/src/protocols/oscar/service.c	Tue Jun 24 03:49:11 2003 +0000
@@ -788,14 +788,18 @@
 		return -EINVAL;
 
 	if (msg) {
-		if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10 + 4 + strlen(msg) + 2)))
+		if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10 + 4 + strlen(msg) + 8)))
 			return -ENOMEM;
 
 		snacid = aim_cachesnac(sess, 0x0001, 0x001e, 0x0000, NULL, 0);
 		aim_putsnac(&fr->data, 0x0001, 0x001e, 0x0000, snacid);
 
 		aimbs_put16(&fr->data, 0x001d);
-		aimbs_put16(&fr->data, strlen(msg)+2);
+		aimbs_put16(&fr->data, strlen(msg)+8);
+		aimbs_put16(&fr->data, 0x0002);
+		aimbs_put8(&fr->data, 0x04);
+		aimbs_put8(&fr->data, strlen(msg)+4);
+		aimbs_put16(&fr->data, strlen(msg));
 		aimbs_putraw(&fr->data, msg, strlen(msg));
 		aimbs_put16(&fr->data, 0x0000);
 	} else {