diff options
| author | djm <> | 2010-10-01 22:59:01 +0000 |
|---|---|---|
| committer | djm <> | 2010-10-01 22:59:01 +0000 |
| commit | 8922d4bc4a8b8893d72a48deb2cdf58215f98505 (patch) | |
| tree | 939b752540947d33507b3acc48d76a8bfb7c3dc3 /src/lib/libcrypto/lhash/lhash.c | |
| parent | 76262f7bf9262f965142b1b2b2105cb279c5c696 (diff) | |
| download | openbsd-8922d4bc4a8b8893d72a48deb2cdf58215f98505.tar.gz openbsd-8922d4bc4a8b8893d72a48deb2cdf58215f98505.tar.bz2 openbsd-8922d4bc4a8b8893d72a48deb2cdf58215f98505.zip | |
resolve conflicts, fix local changes
Diffstat (limited to 'src/lib/libcrypto/lhash/lhash.c')
| -rw-r--r-- | src/lib/libcrypto/lhash/lhash.c | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/src/lib/libcrypto/lhash/lhash.c b/src/lib/libcrypto/lhash/lhash.c index 04ea80203c..47f748081b 100644 --- a/src/lib/libcrypto/lhash/lhash.c +++ b/src/lib/libcrypto/lhash/lhash.c | |||
| @@ -107,18 +107,18 @@ const char lh_version[]="lhash" OPENSSL_VERSION_PTEXT; | |||
| 107 | #define UP_LOAD (2*LH_LOAD_MULT) /* load times 256 (default 2) */ | 107 | #define UP_LOAD (2*LH_LOAD_MULT) /* load times 256 (default 2) */ |
| 108 | #define DOWN_LOAD (LH_LOAD_MULT) /* load times 256 (default 1) */ | 108 | #define DOWN_LOAD (LH_LOAD_MULT) /* load times 256 (default 1) */ |
| 109 | 109 | ||
| 110 | static void expand(LHASH *lh); | 110 | static void expand(_LHASH *lh); |
| 111 | static void contract(LHASH *lh); | 111 | static void contract(_LHASH *lh); |
| 112 | static LHASH_NODE **getrn(LHASH *lh, const void *data, unsigned long *rhash); | 112 | static LHASH_NODE **getrn(_LHASH *lh, const void *data, unsigned long *rhash); |
| 113 | 113 | ||
| 114 | LHASH *lh_new(LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c) | 114 | _LHASH *lh_new(LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c) |
| 115 | { | 115 | { |
| 116 | LHASH *ret; | 116 | _LHASH *ret; |
| 117 | int i; | 117 | int i; |
| 118 | 118 | ||
| 119 | if ((ret=(LHASH *)OPENSSL_malloc(sizeof(LHASH))) == NULL) | 119 | if ((ret=OPENSSL_malloc(sizeof(_LHASH))) == NULL) |
| 120 | goto err0; | 120 | goto err0; |
| 121 | if ((ret->b=(LHASH_NODE **)OPENSSL_malloc(sizeof(LHASH_NODE *)*MIN_NODES)) == NULL) | 121 | if ((ret->b=OPENSSL_malloc(sizeof(LHASH_NODE *)*MIN_NODES)) == NULL) |
| 122 | goto err1; | 122 | goto err1; |
| 123 | for (i=0; i<MIN_NODES; i++) | 123 | for (i=0; i<MIN_NODES; i++) |
| 124 | ret->b[i]=NULL; | 124 | ret->b[i]=NULL; |
| @@ -154,7 +154,7 @@ err0: | |||
| 154 | return(NULL); | 154 | return(NULL); |
| 155 | } | 155 | } |
| 156 | 156 | ||
| 157 | void lh_free(LHASH *lh) | 157 | void lh_free(_LHASH *lh) |
| 158 | { | 158 | { |
| 159 | unsigned int i; | 159 | unsigned int i; |
| 160 | LHASH_NODE *n,*nn; | 160 | LHASH_NODE *n,*nn; |
| @@ -176,7 +176,7 @@ void lh_free(LHASH *lh) | |||
| 176 | OPENSSL_free(lh); | 176 | OPENSSL_free(lh); |
| 177 | } | 177 | } |
| 178 | 178 | ||
| 179 | void *lh_insert(LHASH *lh, void *data) | 179 | void *lh_insert(_LHASH *lh, void *data) |
| 180 | { | 180 | { |
| 181 | unsigned long hash; | 181 | unsigned long hash; |
| 182 | LHASH_NODE *nn,**rn; | 182 | LHASH_NODE *nn,**rn; |
| @@ -214,7 +214,7 @@ void *lh_insert(LHASH *lh, void *data) | |||
| 214 | return(ret); | 214 | return(ret); |
| 215 | } | 215 | } |
| 216 | 216 | ||
| 217 | void *lh_delete(LHASH *lh, const void *data) | 217 | void *lh_delete(_LHASH *lh, const void *data) |
| 218 | { | 218 | { |
| 219 | unsigned long hash; | 219 | unsigned long hash; |
| 220 | LHASH_NODE *nn,**rn; | 220 | LHASH_NODE *nn,**rn; |
| @@ -245,7 +245,7 @@ void *lh_delete(LHASH *lh, const void *data) | |||
| 245 | return(ret); | 245 | return(ret); |
| 246 | } | 246 | } |
| 247 | 247 | ||
| 248 | void *lh_retrieve(LHASH *lh, const void *data) | 248 | void *lh_retrieve(_LHASH *lh, const void *data) |
| 249 | { | 249 | { |
| 250 | unsigned long hash; | 250 | unsigned long hash; |
| 251 | LHASH_NODE **rn; | 251 | LHASH_NODE **rn; |
| @@ -267,12 +267,15 @@ void *lh_retrieve(LHASH *lh, const void *data) | |||
| 267 | return(ret); | 267 | return(ret); |
| 268 | } | 268 | } |
| 269 | 269 | ||
| 270 | static void doall_util_fn(LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func, | 270 | static void doall_util_fn(_LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func, |
| 271 | LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg) | 271 | LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg) |
| 272 | { | 272 | { |
| 273 | int i; | 273 | int i; |
| 274 | LHASH_NODE *a,*n; | 274 | LHASH_NODE *a,*n; |
| 275 | 275 | ||
| 276 | if (lh == NULL) | ||
| 277 | return; | ||
| 278 | |||
| 276 | /* reverse the order so we search from 'top to bottom' | 279 | /* reverse the order so we search from 'top to bottom' |
| 277 | * We were having memory leaks otherwise */ | 280 | * We were having memory leaks otherwise */ |
| 278 | for (i=lh->num_nodes-1; i>=0; i--) | 281 | for (i=lh->num_nodes-1; i>=0; i--) |
| @@ -282,6 +285,8 @@ static void doall_util_fn(LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func, | |||
| 282 | { | 285 | { |
| 283 | /* 28/05/91 - eay - n added so items can be deleted | 286 | /* 28/05/91 - eay - n added so items can be deleted |
| 284 | * via lh_doall */ | 287 | * via lh_doall */ |
| 288 | /* 22/05/08 - ben - eh? since a is not passed, | ||
| 289 | * this should not be needed */ | ||
| 285 | n=a->next; | 290 | n=a->next; |
| 286 | if(use_arg) | 291 | if(use_arg) |
| 287 | func_arg(a->data,arg); | 292 | func_arg(a->data,arg); |
| @@ -292,17 +297,17 @@ static void doall_util_fn(LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func, | |||
| 292 | } | 297 | } |
| 293 | } | 298 | } |
| 294 | 299 | ||
| 295 | void lh_doall(LHASH *lh, LHASH_DOALL_FN_TYPE func) | 300 | void lh_doall(_LHASH *lh, LHASH_DOALL_FN_TYPE func) |
| 296 | { | 301 | { |
| 297 | doall_util_fn(lh, 0, func, (LHASH_DOALL_ARG_FN_TYPE)0, NULL); | 302 | doall_util_fn(lh, 0, func, (LHASH_DOALL_ARG_FN_TYPE)0, NULL); |
| 298 | } | 303 | } |
| 299 | 304 | ||
| 300 | void lh_doall_arg(LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg) | 305 | void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg) |
| 301 | { | 306 | { |
| 302 | doall_util_fn(lh, 1, (LHASH_DOALL_FN_TYPE)0, func, arg); | 307 | doall_util_fn(lh, 1, (LHASH_DOALL_FN_TYPE)0, func, arg); |
| 303 | } | 308 | } |
| 304 | 309 | ||
| 305 | static void expand(LHASH *lh) | 310 | static void expand(_LHASH *lh) |
| 306 | { | 311 | { |
| 307 | LHASH_NODE **n,**n1,**n2,*np; | 312 | LHASH_NODE **n,**n1,**n2,*np; |
| 308 | unsigned int p,i,j; | 313 | unsigned int p,i,j; |
| @@ -358,7 +363,7 @@ static void expand(LHASH *lh) | |||
| 358 | } | 363 | } |
| 359 | } | 364 | } |
| 360 | 365 | ||
| 361 | static void contract(LHASH *lh) | 366 | static void contract(_LHASH *lh) |
| 362 | { | 367 | { |
| 363 | LHASH_NODE **n,*n1,*np; | 368 | LHASH_NODE **n,*n1,*np; |
| 364 | 369 | ||
| @@ -397,7 +402,7 @@ static void contract(LHASH *lh) | |||
| 397 | } | 402 | } |
| 398 | } | 403 | } |
| 399 | 404 | ||
| 400 | static LHASH_NODE **getrn(LHASH *lh, const void *data, unsigned long *rhash) | 405 | static LHASH_NODE **getrn(_LHASH *lh, const void *data, unsigned long *rhash) |
| 401 | { | 406 | { |
| 402 | LHASH_NODE **ret,*n1; | 407 | LHASH_NODE **ret,*n1; |
| 403 | unsigned long hash,nn; | 408 | unsigned long hash,nn; |
| @@ -464,7 +469,7 @@ unsigned long lh_strhash(const char *c) | |||
| 464 | return((ret>>16)^ret); | 469 | return((ret>>16)^ret); |
| 465 | } | 470 | } |
| 466 | 471 | ||
| 467 | unsigned long lh_num_items(const LHASH *lh) | 472 | unsigned long lh_num_items(const _LHASH *lh) |
| 468 | { | 473 | { |
| 469 | return lh ? lh->num_items : 0; | 474 | return lh ? lh->num_items : 0; |
| 470 | } | 475 | } |
