diff src/protocols/oscar/ssi.c @ 6350:34c07f5f34a0

[gaim-migrate @ 6849] -Compile warning fixes from The Man (Paco-Paco) -2 memleak fixes from me. One of them leaked the size of a chat message when either sending or receiving, I forgot which (my bad!) -Hopefully make AIM correctly refetch your buddy list when AOL doesn't send it to you the first time -Maybe something else -Chocolate -Vanilla -Strawberry -Napoleon committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 31 Jul 2003 23:21:36 +0000
parents e4a5085fb870
children 714fc8f45cf2
line wrap: on
line diff
--- a/src/protocols/oscar/ssi.c	Thu Jul 31 23:08:54 2003 +0000
+++ b/src/protocols/oscar/ssi.c	Thu Jul 31 23:21:36 2003 +0000
@@ -1134,17 +1134,26 @@
 }
 
 /*
- * Subtype 0x0004 - Request SSI Data.
- * XXX - If you don't have a timestamp and revision number?
- *
- * Note that the client should never increment the revision, only the server.
+ * Subtype 0x0004 - Request SSI Data when you don't have a timestamp and 
+ * revision number.
  * 
  */
+faim_export int aim_ssi_reqdata(aim_session_t *sess)
+{
+	aim_conn_t *conn;
 
+	if (!sess || !(conn = aim_conn_findbygroup(sess, AIM_CB_FAM_SSI)))
+		return -EINVAL;
+
+	/* Free any current data, just in case */
+	aim_ssi_freelist(sess);
+
+	return aim_genericreq_n_snacid(sess, conn, AIM_CB_FAM_SSI, AIM_CB_SSI_REQDATA);
+}
 
 /*
- * Subtype 0x0005 - Request SSI Data.
- * XXX - If you have a timestamp and revision number?
+ * Subtype 0x0005 - Request SSI Data when you have a timestamp and revision 
+ * number.
  *
  * The data will only be sent if it is newer than the posted local
  * timestamp and revision.
@@ -1152,7 +1161,7 @@
  * Note that the client should never increment the revision, only the server.
  * 
  */
-faim_export int aim_ssi_reqdata(aim_session_t *sess, time_t timestamp, fu16_t numitems)
+faim_export int aim_ssi_reqifchanged(aim_session_t *sess, time_t timestamp, fu16_t numitems)
 {
 	aim_conn_t *conn;
 	aim_frame_t *fr;
@@ -1164,9 +1173,9 @@
 	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+4+2)))
 		return -ENOMEM;
 
-	snacid = aim_cachesnac(sess, AIM_CB_FAM_SSI, AIM_CB_SSI_REQLIST, 0x0000, NULL, 0);
+	snacid = aim_cachesnac(sess, AIM_CB_FAM_SSI, AIM_CB_SSI_REQIFCHANGED, 0x0000, NULL, 0);
 
-	aim_putsnac(&fr->data, AIM_CB_FAM_SSI, AIM_CB_SSI_REQLIST, 0x0000, snacid);
+	aim_putsnac(&fr->data, AIM_CB_FAM_SSI, AIM_CB_SSI_REQIFCHANGED, 0x0000, snacid);
 	aimbs_put32(&fr->data, timestamp);
 	aimbs_put16(&fr->data, numitems);
 
@@ -1558,7 +1567,7 @@
 /*
  * Subtype 0x000f - SSI Data Unchanged.
  *
- * Response to aim_ssi_reqdata() if the server-side data is not newer than
+ * Response to aim_ssi_reqifchanged() if the server-side data is not newer than
  * posted local stamp/revision.
  *
  */