]> andersk Git - libfaim.git/blobdiff - aim_rxhandlers.c
- Thu Mar 23 08:45:40 UTC 2000
[libfaim.git] / aim_rxhandlers.c
index 7b0a0f94d81c3fcd00a5630c5eb6f2b9f7afa89d..5b2a1496d1af7d4468fba5a6ecebbbf69fb82e38 100644 (file)
@@ -304,10 +304,13 @@ int aim_rxdispatch(struct aim_session_t *sess)
     return 0;
   } else {
     workingPtr = sess->queue_incoming;
-    for (i = 0; workingPtr != NULL; i++) {
+    for (i = 0; workingPtr != NULL; workingPtr = workingPtr->next, i++) {
       /*
        * XXX: This is still fairly ugly.
        */
+      if (workingPtr->handled)
+       continue;
+
       switch(workingPtr->conn->type) {
       case -1:
        /*
@@ -547,8 +550,6 @@ int aim_rxdispatch(struct aim_session_t *sess)
        workingPtr->handled = aim_callhandler_noparam(sess, workingPtr->conn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_UNKNOWN, workingPtr);
        break;
       }        
-      /* move to next command */
-      workingPtr = workingPtr->next;
     }
   }
 
This page took 0.197205 seconds and 4 git commands to generate.