Ejemplo n.º 1
0
// ------------------------------------------------------------
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;
	}
}
Ejemplo n.º 2
0
// ------------------------------------------------------------
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;
			}
		}
	}
}