X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=vector%2Fintegeritem.c;h=221fb7095fce341e6fba8d974edf4c1f08d96f04;hb=4e5a12ca4bfd6541fac14c1b0fa0d6e12168ce88;hp=6e6ac04659966c73c62a07410a722603f592e623;hpb=e7cfb732dbf345432b0832c32b99b17a1741b206;p=rrq%2Frrqmisc.git diff --git a/vector/integeritem.c b/vector/integeritem.c index 6e6ac04..221fb70 100644 --- a/vector/integeritem.c +++ b/vector/integeritem.c @@ -2,11 +2,11 @@ /** * This callback function returns the hashcode of a key. The hashcode - * is used for indexing into the backing vector for finding the an + * is used for indexing into the backing Vector for finding the an * item via its key. The same key must map consistently to the same * hashcode while the hashtable contains an item with that key. * Different keys map map to the same hashcode, in which case the - * vector placement is made at the first empty or hole slot following + * Vector placement is made at the first empty or hole slot following * the hashcode index. */ static unsigned long integeritem_hashcode(void *this,void *key) { @@ -36,9 +36,18 @@ static void *integeritem_itemkey(void *this,void *item) { static void integeritem_releasekey(void *this,void *key) { } -itemkeyfun integeritem = { +/** + * 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 };