X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;ds=sidebyside;f=vector%2Fintegeritem.c;h=ae4db929ae95c4bd358ac516e111864641bb38fe;hb=62e848c28a7083828fd47cbd8a29fbc875cf3ecb;hp=0ad2302807ed3c046bd449bef3fa37bce6575dce;hpb=14c22de9f38ec5304dd14a2625b6ac8fdfda52f4;p=rrq%2Frrqmisc.git diff --git a/vector/integeritem.c b/vector/integeritem.c index 0ad2302..ae4db92 100644 --- a/vector/integeritem.c +++ b/vector/integeritem.c @@ -9,7 +9,7 @@ * vector placement is made at the first empty or hole slot following * the hashcode index. */ -static unsigned long integeritem_hashcode(itemkeyfun *this,void *key) { +static unsigned long integeritem_hashcode(void *this,void *key) { return (unsigned long) key; } @@ -17,7 +17,7 @@ static unsigned long integeritem_hashcode(itemkeyfun *this,void *key) { * This callback function determines whether an item has a * given key or not. */ -static int integeritem_haskey(itemkeyfun *this,void *item,void *key) { +static int integeritem_haskey(void *this,void *item,void *key) { return item == key; } @@ -25,7 +25,7 @@ static int integeritem_haskey(itemkeyfun *this,void *item,void *key) { * This callback function returns the key of an item by considering * the arity and schema. */ -static void *integeritem_itemkey(itemkeyfun *this,void *item) { +static void *integeritem_itemkey(void *this,void *item) { return item; } @@ -33,12 +33,21 @@ static void *integeritem_itemkey(itemkeyfun *this,void *item) { * This callback function handles a key obtained from the itemkey * callback function to reclaim temporary allocation. */ -static void integeritem_releasekey(itemkeyfun *this,void *key) { +static void integeritem_releasekey(void *this,void *key) { +} + +/** + * This callback function writes a representation of an item into + * a character buffer. + */ +static int integeritem_tostring(void *this,void *item,char *buffer,int limit) { + return snprintf( buffer, limit, "%lld", (long long) item ); } itemkeyfun integeritem = { .hashcode = integeritem_hashcode, .haskey = integeritem_haskey, .itemkey = integeritem_itemkey, - .releasekey = integeritem_releasekey + .releasekey = integeritem_releasekey, + .tostring = integeritem_tostring };