void test_advance() { char rands[101] = {0}, *s; MSTR astr; MLIST *alist; MERR *err; mstr_rand_string(rands, 100); MTEST_ASSERT(strlen(rands) < 100); mstr_rand_string_fixlen(rands, 100); MTEST_ASSERT(strlen(rands) == 100); s = ""; err = mstr_array_split(&alist, s, " ", 100); MTEST_ASSERT(err == MERR_OK); mlist_destroy(&alist); s = "hello"; err = mstr_array_split(&alist, s, " ", 100); MTEST_ASSERT(err == MERR_OK); mlist_destroy(&alist); s = " he llo "; err = mstr_array_split(&alist, s, " ", 100); MTEST_ASSERT(err == MERR_OK); mlist_destroy(&alist); s = "xxxx hexxxxxllxxxxxoxx"; err = mstr_array_split(&alist, s, "xx", 100); MTEST_ASSERT(err == MERR_OK); MTEST_ASSERT(mlist_length(alist) == 3); mlist_destroy(&alist); s = "hello string array split "; err = mstr_array_split(&alist, s, " ", 100); MTEST_ASSERT(err == MERR_OK); MTEST_ASSERT(mlist_length(alist) == 4); mlist_destroy(&alist); }
char* route(char* clit_name, int rr_flag) { if (rr_flag) { uint32_t size = mlist_length(nodes); node_t* node = (node_t*)mlist_getdata(nodes, query_count % size); query_count++; return node->name; } else { MList* list = mlist_find_custom(routing_table, clit_name, find_entry_by_name); rt_t* entry = (rt_t*)list->data; return entry->serv->name; } return NULL; }