From ce2906b0e470b687fb9d951da18c2f1df6e5fc6f Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Thu, 16 Dec 2010 09:28:34 +0200 Subject: [PATCH] Support GetEntry() for hashes without datatype too (cherry picked from commit 3296c651b90b1caed216a3c65f024ea741ea13f9) --- lib/rpmhash.C | 12 ++++++------ lib/rpmhash.H | 5 ++--- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/rpmhash.C b/lib/rpmhash.C index 016afb2..628f2dd 100644 --- a/lib/rpmhash.C +++ b/lib/rpmhash.C @@ -205,27 +205,27 @@ int HASHPREFIX(HasEntry)(HASHTYPE ht, HTKEYTYPE key) if (!(b = HASHPREFIX(findEntry)(ht, key))) return 0; else return 1; } +int HASHPREFIX(GetEntry)(HASHTYPE ht, HTKEYTYPE key, #ifdef HTDATATYPE - -int HASHPREFIX(GetEntry)(HASHTYPE ht, HTKEYTYPE key, HTDATATYPE** data, - int * dataCount, HTKEYTYPE* tableKey) + HTDATATYPE** data, int * dataCount, +#endif + HTKEYTYPE* tableKey) { Bucket b; int rc = ((b = HASHPREFIX(findEntry)(ht, key)) != NULL); +#ifdef HTDATATYPE if (data) *data = rc ? b->data : NULL; if (dataCount) *dataCount = rc ? b->dataCount : 0; +#endif if (tableKey && rc) *tableKey = b->key; return rc; } -#endif - - unsigned int HASHPREFIX(NumBuckets)(HASHTYPE ht) { return ht->numBuckets; } diff --git a/lib/rpmhash.H b/lib/rpmhash.H index 44b45ca..e9db2ea 100644 --- a/lib/rpmhash.H +++ b/lib/rpmhash.H @@ -75,8 +75,6 @@ void HASHPREFIX(AddEntry)(HASHTYPE ht, HTKEYTYPE key #endif ); -#ifdef HTDATATYPE - /** * Retrieve item from hash table. * @param ht pointer to hash table @@ -88,10 +86,11 @@ void HASHPREFIX(AddEntry)(HASHTYPE ht, HTKEYTYPE key */ RPM_GNUC_INTERNAL int HASHPREFIX(GetEntry)(HASHTYPE ht, HTKEYTYPE key, +#ifdef HTDATATYPE HTDATATYPE** data, int * dataCount, - HTKEYTYPE* tableKey); #endif + HTKEYTYPE* tableKey); /** * Check for key in hash table. -- 2.7.4