changeset 319:cea40691706c

[gaim-migrate @ 329] A few good oscar changes before release. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Fri, 02 Jun 2000 19:45:16 +0000
parents 35796808896a
children 849500bec397
files ChangeLog libfaim/CHANGES.gaim src/oscar.c src/server.c
diffstat 4 files changed, 18 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Jun 02 18:59:27 2000 +0000
+++ b/ChangeLog	Fri Jun 02 19:45:16 2000 +0000
@@ -8,7 +8,7 @@
 	* More fixes for the change on the AOL sign-on process. 
 	* Fixed bug where GAIM sometimes doesn't find a font to use.
 	* Per-conversation font and color dialogs (thanks fflewddur)
-	* Chat in oscar works
+	* Chat in oscar works (somewhat)
 	* Even more fixes for the sign-on process, and now you don't flash when
 	  setting permit/deny lists.
 
--- a/libfaim/CHANGES.gaim	Fri Jun 02 18:59:27 2000 +0000
+++ b/libfaim/CHANGES.gaim	Fri Jun 02 19:45:16 2000 +0000
@@ -1,3 +1,10 @@
+
+Fri Jun  2 19:39:13 UTC 2000 EWarmenhoven
+	- Buddy lists no longer get sent individually, but all together (as
+	  many as fit in the buffer at one time). This should reduce a lot
+	  of the "You're sending messages too fast" errors at signon.
+	- Chat is improved a bit, mostly because I think I'm starting to get
+	  some clue as to what's going on.
 
 Fri Jun  2 08:53:53 UTC 2000 EWarmenhoven
 	- Well, I got chat working again.
--- a/src/oscar.c	Fri Jun 02 18:59:27 2000 +0000
+++ b/src/oscar.c	Fri Jun 02 19:45:16 2000 +0000
@@ -347,8 +347,10 @@
 	switch(serviceid) {
 	case 0x0005: /* Ads */
 		debug_print("Received Ads, finishing login\n");
+		/* we'll take care of this in the parse_toc_buddy_config() below
 		sprintf(buddies, "%s&", current_user->username);
 		aim_bos_setbuddylist(sess, command->conn, buddies);
+		*/
 		aim_bos_setprofile(sess, command->conn, current_user->user_info,
 					NULL, gaim_caps);
 		aim_seticbmparam(sess, command->conn);
--- a/src/server.c	Fri Jun 02 18:59:27 2000 +0000
+++ b/src/server.c	Fri Jun 02 19:45:16 2000 +0000
@@ -299,11 +299,17 @@
         }
 	sflap_send(buf, -1, TYPE_DATA);
 #else
-	/* oscar you have to add them one name at a time, except at login */
+	char buf[MSG_LEN];
+	int n = 0;
 	while(buddies) {
-		serv_add_buddy((char *)buddies->data);
+		if (n > MSG_LEN - 18) {
+			aim_bos_setbuddylist(gaim_sess, gaim_conn, buf);
+			n = 0;
+		}
+		n += g_snprintf(buf + n, sizeof(buf) - n, "%s&", buddies->data);
 		buddies = buddies->next;
 	}
+	aim_bos_setbuddylist(gaim_sess, gaim_conn, buf);
 #endif
 }