projects
/
rrq
/
rrqmisc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
upgrade for hashvector ABI changes.
[rrq/rrqmisc.git]
/
tests
/
example-hashvector.c
diff --git
a/tests/example-hashvector.c
b/tests/example-hashvector.c
index 8fe73b6ad4f53397bf95e30427fec2f2bbe73ccd..28eaeab3473f3b2d996d4d170ddd4c04a83c9393 100644
(file)
--- a/
tests/example-hashvector.c
+++ b/
tests/example-hashvector.c
@@
-8,19
+8,23
@@
typedef struct _ipslot {
unsigned int bits;
} ipslot;
unsigned int bits;
} ipslot;
-static unsigned long voidp_hashcode(
itemkeyfun
*this,void *key) {
+static unsigned long voidp_hashcode(
void
*this,void *key) {
return hashvector_hashcode( key, sizeof( ipslot ) );
}
return hashvector_hashcode( key, sizeof( ipslot ) );
}
-static void* voidp_itemkey(
itemkeyfun
*this,void *item) {
+static void* voidp_itemkey(
void
*this,void *item) {
return item;
}
return item;
}
-static int voidp_haskey(
itemkeyfun
*this,void *item,void *key) {
+static int voidp_haskey(
void
*this,void *item,void *key) {
return memcmp( item, key, sizeof( ipslot ) ) == 0;
}
return memcmp( item, key, sizeof( ipslot ) ) == 0;
}
-static void voidp_releasekey(itemkeyfun *this,void *key) {
+static void voidp_releasekey(void *this,void *key) {
+}
+
+static int voidp_tostring(void *this, void *item, char *buffer, int limit) {
+ return snprintf( buffer, limit, "%p", item );
}
static int shrink(vector *pv,unsigned long index,void *item,void *data) {
}
static int shrink(vector *pv,unsigned long index,void *item,void *data) {
@@
-40,7
+44,8
@@
int main(int argc,char **argv) {
.hashcode = voidp_hashcode,
.itemkey = voidp_itemkey,
.haskey = voidp_haskey,
.hashcode = voidp_hashcode,
.itemkey = voidp_itemkey,
.haskey = voidp_haskey,
- .releasekey = voidp_releasekey
+ .releasekey = voidp_releasekey,
+ .tostring = voidp_tostring
};
hashvector hv = {
.table = { 1, 4, 0 },
};
hashvector hv = {
.table = { 1, 4, 0 },