Esempio n. 1
0
Record_List  * _hashlist_remove_elem(void * hashlist,void * elem)
{
	Record_List * curr_elem;
	curr_elem=_hashlist_find_elem(hashlist,elem);
	if(curr_elem==NULL)
		return NULL;
	List_del(&curr_elem->list);
	return curr_elem;		
}
Esempio n. 2
0
void Manager_Delete()
{
	Manager_Printall();
	char ch;
	printf("삭제 문자: ");
	scanf("%c",&ch);
	fflush(stdin);
	List_del(&mm.li,ch);
	Manager_Printall();
}
Esempio n. 3
0
int  connector_hub_del_connector (void * hub,void * connector)
{
	struct tcloud_connector_hub * conn_hub;
	struct tcloud_connector * new_conn;

	struct List_head * head, *curr;
	Record_List * record_elem;
	Record_List * conn_list;
	int new_fd;

	conn_hub = (struct tcloud_connector_hub *)hub;

	conn_list=(Record_List *)conn_hub->connector_list;
	head = &(conn_list->list);

	curr=head->next;
	while(curr!=head)
	{
		record_elem=(Record_List *)curr;
		if(record_elem->record ==connector)
			break;
		curr=curr->next;
	}

	if(curr==head)
		return -EINVAL;

	if(conn_hub->curr_read==curr)
		conn_hub->curr_read=curr->next;
	if(conn_hub->curr_write==curr)
		conn_hub->curr_write=curr->next;
	if(conn_hub->curr_except==curr)
		conn_hub->curr_except=curr->next;
	List_del(curr);
	Free(record_elem);

	new_conn=(struct tcloud_connector *)connector;
	
	new_fd=new_conn->conn_ops->getfd(new_conn);

	if(new_fd<=0)
		return -EINVAL;

	FD_CLR(new_fd,&conn_hub->readfds);

	return 0;
}
Esempio n. 4
0
int list_queue_get(void * list_queue,void ** record)
{
	LIST_QUEUE * queue;
	Record_List * slot;
	queue=(LIST_QUEUE *)list_queue;
	
	if(queue->record_num==0)
	{
		*record=NULL;
		return 0;
	}
	

	slot=(Record_List *) (queue->queue_list.list.next);

	*record=slot->record;

	queue->record_num--;
	
	List_del(&slot->list);
	Free(slot);
	return queue->record_num;
}
Esempio n. 5
0
File: list.c Progetto: mci2014/utils
/** Delete an item from the tail of the given list
 *
 * @param list The list where item deleted from
 * @return The item that be deleted from the list
 */
inline void *List_delFromTail(UTIL_LIST *list) {

    void **tail = list->last;
    return List_del(list, tail);
}