X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fhash.h;h=90c5896c7263681783161adddf18c62122562308;hp=c8836fda09ed95becf261d02e8daa1324a0710a0;hb=0d214d4e314f6f42df24be140bb433e980319767;hpb=e05dda5c8cc6687dcbc59e182a81aed627e262d0 diff --git a/src/libgame/hash.h b/src/libgame/hash.h index c8836fda..90c5896c 100644 --- a/src/libgame/hash.h +++ b/src/libgame/hash.h @@ -1,15 +1,13 @@ -/*********************************************************** -* Artsoft Retro-Game Library * -*----------------------------------------------------------* -* (c) 1994-2006 Artsoft Entertainment * -* Holger Schemel * -* Detmolder Strasse 189 * -* 33604 Bielefeld * -* Germany * -* e-mail: info@artsoft.org * -*----------------------------------------------------------* -* hash.h * -***********************************************************/ +// ============================================================================ +// Artsoft Retro-Game Library +// ---------------------------------------------------------------------------- +// (c) 1995-2014 by Artsoft Entertainment +// Holger Schemel +// info@artsoft.org +// http://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// hash.h +// ============================================================================ /* * Copyright (C) 2002 Christopher Clark @@ -98,26 +96,27 @@ /*****************************************************************************/ struct entry { - void *k, *v; - unsigned int h; - struct entry *next; + void *k, *v; + unsigned int h; + struct entry *next; }; -struct hashtable { - unsigned int tablelength; - struct entry **table; - unsigned int entrycount; - unsigned int loadlimit; - unsigned int (*hashfn) (void *k); - int (*eqfn) (void *k1, void *k2); +struct hashtable +{ + unsigned int tablelength; + struct entry **table; + unsigned int entrycount; + unsigned int loadlimit; + unsigned int (*hashfn) (void *k); + int (*eqfn) (void *k1, void *k2); }; /*****************************************************************************/ struct hashtable_itr { - struct hashtable *h; - struct entry *e; - unsigned int index; + struct hashtable *h; + struct entry *e; + unsigned int index; }; @@ -162,7 +161,7 @@ hashtable_insert(struct hashtable *h, void *k, void *v); #define DEFINE_HASHTABLE_INSERT(fnname, keytype, valuetype) \ int fnname (struct hashtable *h, keytype *k, valuetype *v) \ { \ - return hashtable_insert(h,k,v); \ + return hashtable_insert(h,k,v); \ } /***************************************************************************** @@ -181,7 +180,7 @@ hashtable_change(struct hashtable *h, void *k, void *v); #define DEFINE_HASHTABLE_CHANGE(fnname, keytype, valuetype) \ int fnname (struct hashtable *h, keytype *k, valuetype *v) \ { \ - return hashtable_change(h,k,v); \ + return hashtable_change(h,k,v); \ } /***************************************************************************** @@ -199,7 +198,7 @@ hashtable_search(struct hashtable *h, void *k); #define DEFINE_HASHTABLE_SEARCH(fnname, keytype, valuetype) \ valuetype * fnname (struct hashtable *h, keytype *k) \ { \ - return (valuetype *) (hashtable_search(h,k)); \ + return (valuetype *) (hashtable_search(h,k)); \ } /***************************************************************************** @@ -217,7 +216,7 @@ hashtable_remove(struct hashtable *h, void *k); #define DEFINE_HASHTABLE_REMOVE(fnname, keytype, valuetype) \ valuetype * fnname (struct hashtable *h, keytype *k) \ { \ - return (valuetype *) (hashtable_remove(h,k)); \ + return (valuetype *) (hashtable_remove(h,k)); \ } @@ -250,23 +249,16 @@ struct hashtable_itr * hashtable_iterator(struct hashtable *h); /*****************************************************************************/ -/* hashtable_iterator_key - * - return the value of the (key,value) pair at the current position */ +/* key - return the key of the (key,value) pair at the current position */ -extern inline void * -hashtable_iterator_key(struct hashtable_itr *i) -{ - return i->e->k; -} +void * +hashtable_iterator_key(struct hashtable_itr *i); /*****************************************************************************/ /* value - return the value of the (key,value) pair at the current position */ -extern inline void * -hashtable_iterator_value(struct hashtable_itr *i) -{ - return i->e->v; -} +void * +hashtable_iterator_value(struct hashtable_itr *i); /*****************************************************************************/ /* advance - advance the iterator to the next element