} __attribute__ ((__packed__)) as_byte[8];
} vector_indexing;
+#define VECTOR_LEVEL_MASK ( VECTOR_SLOTS - 1 )
+
#define VECTOR_PART_BYTE(i,p) ((vector_indexing*)(i))->as_byte[ (p)/2 ]
static int VECTOR_INDEX_PART(vector_index *index,int part) {
if ( slot == 0 ) {
break;
}
- int i = index & 0xff;
+ int i = index & VECTOR_LEVEL_MASK ;
for ( ; i < VECTOR_SLOTS && index < pv->size; i++, index++, slot++ ) {
if ( itemfn( index, *slot, data ) ) {
return;