changeset 7266:dc3918a729e8

[gaim-migrate @ 7843] This should fix any spurious "user info for whomever not available" messages. I actually coded this little logic hole in on purpose so that I could fix it and use the work "spurious." Also, SimGuy get's to wear the tester-of-the-week crown. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 15 Oct 2003 02:51:14 +0000
parents d565594c1bae
children 109817b028a6
files src/protocols/oscar/locate.c
diffstat 1 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/oscar/locate.c	Tue Oct 14 21:17:20 2003 +0000
+++ b/src/protocols/oscar/locate.c	Wed Oct 15 02:51:14 2003 +0000
@@ -293,11 +293,21 @@
 faim_internal void aim_locate_requestuserinfo(aim_session_t *sess, const char *sn) {
 	struct userinfo_node *cur;
 
+	/* Make sure we aren't already requesting info for this buddy */
+	cur = sess->locate.request_queue;
+	while (cur != NULL) {
+		if (aim_sncmp(sn, cur->sn) == 0)
+			return;
+		cur = cur->next;
+	}
+
+	/* Add a new node to our request queue */
 	cur = (struct userinfo_node *)malloc(sizeof(struct userinfo_node));
 	cur->sn = strdup(sn);
 	cur->next = sess->locate.request_queue;
 	sess->locate.request_queue = cur;
 
+	/* Actually request some info up in this piece */
 	aim_locate_dorequest(sess);
 }