diff src/protocols/oscar/locate.c @ 7466:fa0324675ed9

[gaim-migrate @ 8079] This might fix the "user info for null unavailable," or whatever. Let me know when it doesn't. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 09 Nov 2003 07:58:23 +0000
parents 0e7a835e2433
children ef3e646152a1
line wrap: on
line diff
--- a/src/protocols/oscar/locate.c	Sun Nov 09 06:12:06 2003 +0000
+++ b/src/protocols/oscar/locate.c	Sun Nov 09 07:58:23 2003 +0000
@@ -237,7 +237,7 @@
 }
 
 static void aim_locate_dorequest(aim_session_t *sess) {
-	struct userinfo_node *cur = sess->locate.request_queue;
+	struct userinfo_node *cur = sess->locate.torequest;
 
 	if (cur == NULL)
 		return;
@@ -247,6 +247,11 @@
 
 	sess->locate.waiting_for_response = TRUE;
 	aim_locate_getinfoshort(sess, cur->sn, 0x00000003);
+
+	/* Move this node to the "requested" queue */
+	sess->locate.torequest = cur->next;
+	cur->next = sess->locate.requested;
+	sess->locate.requested = cur;
 }
 
 /**
@@ -262,15 +267,15 @@
 	struct userinfo_node *cur, *del;
 	int was_explicit = TRUE;
 
-	while ((sess->locate.request_queue != NULL) && (aim_sncmp(sn, sess->locate.request_queue->sn) == 0)) {
-		del = sess->locate.request_queue;
-		sess->locate.request_queue = del->next;
+	while ((sess->locate.requested != NULL) && (aim_sncmp(sn, sess->locate.requested->sn) == 0)) {
+		del = sess->locate.requested;
+		sess->locate.requested = del->next;
 		was_explicit = FALSE;
 		free(del->sn);
 		free(del);
 	}
 
-	cur = sess->locate.request_queue;
+	cur = sess->locate.requested;
 	while ((cur != NULL) && (cur->next != NULL)) {
 		if (aim_sncmp(sn, cur->next->sn) == 0) {
 			del = cur->next;
@@ -294,7 +299,7 @@
 	struct userinfo_node *cur;
 
 	/* Make sure we aren't already requesting info for this buddy */
-	cur = sess->locate.request_queue;
+	cur = sess->locate.torequest;
 	while (cur != NULL) {
 		if (aim_sncmp(sn, cur->sn) == 0)
 			return;
@@ -304,8 +309,8 @@
 	/* 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;
+	cur->next = sess->locate.torequest;
+	sess->locate.torequest = cur;
 
 	/* Actually request some info up in this piece */
 	aim_locate_dorequest(sess);