예제 #1
0
char *test_search_prefix()
{
    void *res = TSTree_search_prefix(node, bdata(&test1), blength(&test1));
    debug("result %p expected %p", res, valueA);
    mu_assert(res == valueA, "Got wrong value4 by prefix.");

    res = TSTree_search_prefix(node, bdata(&test1), 1);
    debug("result %p expected %p", res, value4);
    mu_assert(res == value4, "Got wrong valueA by prefix.");
 
    res = TSTree_search_prefix(node, "TE", strlen("TE"));
    mu_assert(res != NULL, "Should find for short prefix.");

    res = TSTree_search_prefix(node, "TE--", strlen("TE--"));
    mu_assert(res != NULL, "Should find for partial prefix.");

    return NULL;
}
예제 #2
0
파일: urlor.c 프로젝트: gastlygem/lcthw_ex
 bstring match_url(TSTree * routes, bstring url)
 {
     bstring route = TSTree_search(routes, bdata(url), blength(url));

     if (route == NULL) {
         printf("No exact match found, trying prefix.\n");
         route = TSTree_search_prefix(routes, bdata(url), blength(url));
     }

     return route;
 }
예제 #3
0
bstring match_url(TSTree *routes , bstring url)
{
/*just use TSTree_search  and search_prefix to search urls
 */
	bstring route = TSTree_search(routes , bdata(url) , blength(url));

	if(route == NULL ){
		printf("no exact match found , trying prefix .\n");
		route = TSTree_search_prefix(routes , bdata(url) , blength(url));
	}
	return route;
}