}
if (mas_is_ptr(mas)) {
+ *range_min = 0;
+ *range_max = 0;
if (!mas->index)
return true;
mas_set_offset(mas, MAPLE_NODE_SLOTS);
{
unsigned long range_min, range_max;
unsigned long index = mas->index;
+ unsigned char offset;
_mas_walk(mas, &range_min, &range_max);
retry:
if (mas_dead_node(mas, index))
goto retry;
- return mas_get_slot(mas, mas_offset(mas));
+ offset = mas_offset(mas);
+ if (offset == MAPLE_NODE_SLOTS)
+ return NULL; // Not found.
+
+ return mas_get_slot(mas, offset);
}
static inline bool mas_search_cont(struct ma_state *mas, unsigned long index,