X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=x2p%2Fhash.c;h=dbdc92842414983050528933c26b43ff1146e509;hb=c63dfae1e0dd3ff2a89e180471b2ec48a0f2dec6;hp=03ff1b2c794537e552f280032f5005bc0e51c077;hpb=352d5a3ab0aab9889c59e847643d265e062cec0b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/x2p/hash.c b/x2p/hash.c index 03ff1b2..dbdc928 100644 --- a/x2p/hash.c +++ b/x2p/hash.c @@ -1,29 +1,24 @@ -/* $RCSfile: hash.c,v $$Revision: 4.0.1.1 $$Date: 91/06/07 12:15:55 $ +/* $RCSfile: hash.c,v $$Revision: 4.1 $$Date: 92/08/07 18:29:20 $ * - * Copyright (c) 1991, Larry Wall + * Copyright (c) 1991-2002, Larry Wall * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * $Log: hash.c,v $ - * Revision 4.0.1.1 91/06/07 12:15:55 lwall - * patch4: new copyright notice - * - * Revision 4.0 91/03/20 01:57:49 lwall - * 4.0 baseline. - * */ #include #include "EXTERN.h" -#include "handy.h" -#include "util.h" #include "a2p.h" +#include "util.h" + +#ifdef NETWARE +char *savestr(char *str); +#endif STR * -hfetch(tb,key) -register HASH *tb; -char *key; +hfetch(register HASH *tb, char *key) { register char *s; register int i; @@ -49,10 +44,7 @@ char *key; } bool -hstore(tb,key,val) -register HASH *tb; -char *key; -STR *val; +hstore(register HASH *tb, char *key, STR *val) { register char *s; register int i; @@ -77,7 +69,7 @@ STR *val; if (strNE(entry->hent_key,key)) /* is this it? */ continue; /*NOSTRICT*/ - safefree((char*)entry->hent_val); + safefree(entry->hent_val); entry->hent_val = val; return TRUE; } @@ -101,9 +93,7 @@ STR *val; #ifdef NOTUSED bool -hdelete(tb,key) -register HASH *tb; -char *key; +hdelete(register HASH *tb, char *key) { register char *s; register int i; @@ -139,8 +129,8 @@ char *key; } #endif -hsplit(tb) -HASH *tb; +void +hsplit(HASH *tb) { int oldsize = tb->tbl_max + 1; register int newsize = oldsize * 2; @@ -151,7 +141,7 @@ HASH *tb; register HENT **oentry; a = (HENT**) saferealloc((char*)tb->tbl_array, newsize * sizeof(HENT*)); - bzero((char*)&a[oldsize], oldsize * sizeof(HENT*)); /* zero second half */ + memset(&a[oldsize], 0, oldsize * sizeof(HENT*)); /* zero second half */ tb->tbl_max = --newsize; tb->tbl_array = a; @@ -177,7 +167,7 @@ HASH *tb; } HASH * -hnew() +hnew(void) { register HASH *tb = (HASH*)safemalloc(sizeof(HASH)); @@ -185,13 +175,12 @@ hnew() tb->tbl_fill = 0; tb->tbl_max = 7; hiterinit(tb); /* so each() will start off right */ - bzero((char*)tb->tbl_array, 8 * sizeof(HENT*)); + memset(tb->tbl_array, 0, 8 * sizeof(HENT*)); return tb; } #ifdef NOTUSED -hshow(tb) -register HASH *tb; +hshow(register HASH *tb) { fprintf(stderr,"%5d %4d (%2d%%)\n", tb->tbl_max+1, @@ -200,8 +189,8 @@ register HASH *tb; } #endif -hiterinit(tb) -register HASH *tb; +int +hiterinit(register HASH *tb) { tb->tbl_riter = -1; tb->tbl_eiter = Null(HENT*); @@ -209,8 +198,7 @@ register HASH *tb; } HENT * -hiternext(tb) -register HASH *tb; +hiternext(register HASH *tb) { register HENT *entry; @@ -233,15 +221,13 @@ register HASH *tb; } char * -hiterkey(entry) -register HENT *entry; +hiterkey(register HENT *entry) { return entry->hent_key; } STR * -hiterval(entry) -register HENT *entry; +hiterval(register HENT *entry) { return entry->hent_val; }