diff --git a/arangod/SkipLists/skiplistIndex.c b/arangod/SkipLists/skiplistIndex.c index 90fa916073..6bb16e51d2 100644 --- a/arangod/SkipLists/skiplistIndex.c +++ b/arangod/SkipLists/skiplistIndex.c @@ -365,7 +365,8 @@ static bool SkiplistHasNextIterationCallback(TRI_skiplist_iterator_t* iterator) /// @brief Jumps forwards by jumpSize and returns the document //////////////////////////////////////////////////////////////////////////////// -static void* SkiplistIteration(TRI_skiplist_iterator_t* iterator, +static TRI_skiplist_index_element_t* SkiplistIteration( + TRI_skiplist_iterator_t* iterator, int64_t jumpSize) { TRI_skiplist_iterator_interval_t* interval; int64_t j; @@ -411,7 +412,7 @@ static void* SkiplistIteration(TRI_skiplist_iterator_t* iterator, } } - return &(iterator->_cursor->doc); + return (TRI_skiplist_index_element_t*) (iterator->_cursor->doc); } @@ -420,7 +421,8 @@ static void* SkiplistIteration(TRI_skiplist_iterator_t* iterator, /// @brief default callback for jumping forward by 1 //////////////////////////////////////////////////////////////////////////////// -static void* SkiplistNextIterationCallback(TRI_skiplist_iterator_t* iterator) { +static TRI_skiplist_index_element_t* SkiplistNextIterationCallback( + TRI_skiplist_iterator_t* iterator) { return SkiplistIteration(iterator,1); } @@ -429,7 +431,8 @@ static void* SkiplistNextIterationCallback(TRI_skiplist_iterator_t* iterator) { /// @brief default callback for jumping forward by jumpSize docs //////////////////////////////////////////////////////////////////////////////// -static void* SkiplistNextsIterationCallback(TRI_skiplist_iterator_t* iterator, +static TRI_skiplist_index_element_t* SkiplistNextsIterationCallback( + TRI_skiplist_iterator_t* iterator, int64_t jumpSize) { return SkiplistIteration(iterator,jumpSize); } diff --git a/arangod/SkipLists/skiplistIndex.h b/arangod/SkipLists/skiplistIndex.h index 4238b5abca..7831524182 100644 --- a/arangod/SkipLists/skiplistIndex.h +++ b/arangod/SkipLists/skiplistIndex.h @@ -109,8 +109,9 @@ typedef struct TRI_skiplist_iterator_s { // _cursor is NULL, then there are (currently) no more // documents in the iterator. bool (*_hasNext) (struct TRI_skiplist_iterator_s*); - void* (*_next) (struct TRI_skiplist_iterator_s*); - void* (*_nexts) (struct TRI_skiplist_iterator_s*, int64_t jumpSize); + TRI_skiplist_index_element_t* (*_next)(struct TRI_skiplist_iterator_s*); + TRI_skiplist_index_element_t* (*_nexts)(struct TRI_skiplist_iterator_s*, + int64_t jumpSize); } TRI_skiplist_iterator_t; diff --git a/arangod/V8Server/v8-query.cpp b/arangod/V8Server/v8-query.cpp index fb722496e6..4c34987a66 100644 --- a/arangod/V8Server/v8-query.cpp +++ b/arangod/V8Server/v8-query.cpp @@ -1083,7 +1083,8 @@ static v8::Handle ExecuteSkiplistQuery (v8::Arguments const& argv, bool error = false; while (true) { - TRI_skiplist_index_element_t* indexElement = (TRI_skiplist_index_element_t*) skiplistIterator->_next(skiplistIterator); + TRI_skiplist_index_element_t* indexElement = + skiplistIterator->_next(skiplistIterator); if (indexElement == NULL) { break;