unsigned int bits;
} ipslot;
-static unsigned long voidp_hashcode(void *key) {
+static unsigned long voidp_hashcode(itemkeyfun *this,void *key) {
return hashvector_hashcode( key, sizeof( ipslot ) );
}
-static void* voidp_itemkey(void *item) {
+static void* voidp_itemkey(itemkeyfun *this,void *item) {
return item;
}
-static int voidp_haskey(void *item,void *key) {
+static int voidp_haskey(itemkeyfun *this,void *item,void *key) {
return memcmp( item, key, sizeof( ipslot ) ) == 0;
}
+static void voidp_releasekey(itemkeyfun *this,void *key) {
+}
+
static int shrink(vector *pv,unsigned long index,void *item,void *data) {
if ( item ) {
if ( item == HV_HOLE ) {
}
int main(int argc,char **argv) {
+ itemkeyfun voidpfun = {
+ .hashcode = voidp_hashcode,
+ .itemkey = voidp_itemkey,
+ .haskey = voidp_haskey,
+ .releasekey = voidp_releasekey
+ };
hashvector hv = {
- .table = { 4, 0 },
+ .table = { 1, 4, 0 },
.fill = 0,
.holes = 0,
- .keyhashcode = voidp_hashcode,
- .itemkey = voidp_itemkey,
- .haskey = voidp_haskey
+ .type = &voidpfun
};
int i = 0;
for ( ; i < 259; i++ ) {