// ------------------------------------------------------------ void Qaullib_UserCheckNonames(void) { //printf("[LL next] Qaullib_UserCheckNonames\n"); struct qaul_user_LL_node mynode; Qaullib_User_LL_InitNode(&mynode); while(Qaullib_User_LL_NextNode(&mynode)) { if(mynode.item->type == QAUL_USERTYPE_UNCHECKED) if(Qaullib_UserGetInfo(mynode.item) == 0) break; } }
// ------------------------------------------------------------ void Qaullib_User_LL_Clean (void) { struct qaul_user_LL_node mynode; Qaullib_User_LL_InitNode(&mynode); while(Qaullib_User_LL_NextNode(&mynode)) { if(mynode.item->time +300 < time(NULL)) { if(mynode.item->changed == QAUL_USERCHANGED_CACHED) { // only delete if not a favorite if(mynode.item->favorite == 0) { mynode.item = mynode.item->prev; Qaullib_User_LL_Delete_Item(mynode.item->next); } } else { mynode.item->changed = QAUL_USERCHANGED_DELETED; } } else if(mynode.item->type == QAUL_USERTYPE_WEB_KNOWN) { // leave the web users online for 5 minutes } else if(mynode.item->time +10 < time(NULL)) { if(mynode.item->changed < QAUL_USERCHANGED_DELETED) { if(mynode.item->type > QAUL_USERTYPE_UNCHECKED) mynode.item->changed = QAUL_USERCHANGED_DELETED; else mynode.item->changed = QAUL_USERCHANGED_CACHED; } } } }