예제 #1
0
void at_add_urc(at_dev_t *dev, at_urc_t *urc)
{
    assert(urc);
    assert(urc->code);
    assert(strlen(urc->code) != 0);
    assert(urc->cb);

    clist_rpush(&dev->urc_list, &urc->list_node);
}
예제 #2
0
static void test_clist_rpush(void)
{
    list_node_t *elem = &(tests_clist_buf[0]);
    list_node_t *list = &test_clist;

    clist_rpush(list, elem);

    TEST_ASSERT_NOT_NULL(list->next);
    TEST_ASSERT(list->next->next == list->next);
}
예제 #3
0
static void test_clist_add_three(void)
{
    list_node_t *list = &test_clist;

    for (int i = 0; i < 3; i++) {
        clist_rpush(list, &(tests_clist_buf[i]));
    }

    TEST_ASSERT_NOT_NULL(list->next);
    TEST_ASSERT(list->next == &(tests_clist_buf[2]));
    TEST_ASSERT(list->next->next == &(tests_clist_buf[0]));
    TEST_ASSERT(list->next->next->next == &(tests_clist_buf[1]));
    TEST_ASSERT(list->next->next->next->next == &(tests_clist_buf[2]));
}
예제 #4
0
static void test_clist_foreach(void)
{
    list_node_t *list = &test_clist;

    for (int i = 0; i < TEST_CLIST_LEN; i++) {
        clist_rpush(list, &tests_clist_buf[i]);
    }

    clist_foreach(list, _foreach_test_trampoline);

    TEST_ASSERT(_foreach_called == _foreach_abort_after);

    _foreach_called = 0;
    for (int i = 0; i < TEST_CLIST_LEN; i++) {
        _foreach_visited[i] = 0;
    }

    _foreach_abort_after = (TEST_CLIST_LEN + 1);
    clist_foreach(list, _foreach_test_trampoline);

    TEST_ASSERT(_foreach_called == TEST_CLIST_LEN);
}
예제 #5
0
파일: clist_test.c 프로젝트: Joinhack/chat
int main(int argc, char const *argv[]) {
	size_t i;
	lock = SL_UNLOCK;
	cl = clist_create();
	count = 0;
	for(i = 0; i < 6; i++)
		clist_lpush(cl, NULL);

	clist_rpop(cl);
	clist_rpop(cl);
	clist_rpop(cl);
	clist_rpop(cl);
	clist_rpop(cl);
	clist_rpop(cl);

	for(i = 0; i < 6; i++)
		clist_lpush(cl, NULL);
	clist_destroy(cl);

	cl = clist_create();
	for(i = 0; i < 1000; i++)
		clist_rpush(cl, NULL);
	for(i = 0; i < 1000; i++)
		clist_lpush(cl, NULL);

	for(i = 0; i < 1000; i++)
		clist_lpop(cl);

	for(i = 0; i < 1000; i++)
		clist_rpop(cl);

	clist_destroy(cl);
	printf("%llu\n", used_mem());

	return 0;
}