Add ability to get index based on file location
authorJonathan Dieter <jdieter@gmail.com>
Tue, 10 Apr 2018 13:00:04 +0000 (16:00 +0300)
committerJonathan Dieter <jdieter@gmail.com>
Tue, 10 Apr 2018 13:00:04 +0000 (16:00 +0300)
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
src/lib/index/index_common.c

index 04917d366e2ece53c749a346285dd15897397287..396c6c1a3c32ed90d988d3f2bf2bf98872264159 100644 (file)
 
 #include "zck_private.h"
 
+zckIndexItem *zck_get_index_of_loc(zckIndex *index, size_t loc) {
+    zckIndexItem *idx = index->first;
+    while(idx != NULL) {
+        if(loc >= idx->start && loc < idx->start + idx->comp_length)
+            return idx;
+        idx = idx->next;
+    }
+    zck_log(ZCK_LOG_ERROR, "Unable to find index that contains position %lu\n",
+            loc);
+    return NULL;
+}
+
 void zck_index_free_item(zckIndexItem **item) {
     if(*item == NULL)
         return;