From: Lucas De Marchi Date: Fri, 2 Dec 2011 19:49:03 +0000 (-0200) Subject: index: mmap: add support for searching X-Git-Tag: v1~115 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b797b7918335e9bb22842d2e9c16e87577e85233;p=platform%2Fupstream%2Fkmod.git index: mmap: add support for searching Almost a clean copy & paste from the previous implementation. --- diff --git a/libkmod/libkmod-index.c b/libkmod/libkmod-index.c index b20aeec..8df0f71 100644 --- a/libkmod/libkmod-index.c +++ b/libkmod/libkmod-index.c @@ -756,3 +756,21 @@ static char *index_mm_search_node(struct index_mm_node *node, const char *key, return NULL; } + +/* + * Search the index for a key + * + * Returns the value of the first match + * + * The recursive functions free their node argument (using index_close). + */ +char *index_mm_search(struct index_mm *idx, const char *key) +{ + struct index_mm_node *root; + char *value; + + root = index_mm_readroot(idx); + value = index_mm_search_node(root, key, 0); + + return value; +} diff --git a/libkmod/libkmod-index.h b/libkmod/libkmod-index.h index e611eee..9fb96e3 100644 --- a/libkmod/libkmod-index.h +++ b/libkmod/libkmod-index.h @@ -166,5 +166,6 @@ void index_values_free(struct index_value *values); struct index_mm; struct index_mm *index_mm_open(struct kmod_ctx *ctx, const char *filename); void index_mm_close(struct index_mm *index); +char *index_mm_search(struct index_mm *idx, const char *key); #endif