Issue #359: Don't duplicate lh_get_hash, just omit the "inline" for VS2010.

This commit is contained in:
Eric Haszlakiewicz
2017-09-06 23:39:23 -04:00
parent d58693b0f0
commit 32f503f738
2 changed files with 13 additions and 15 deletions

View File

@@ -560,13 +560,6 @@ int lh_table_resize(struct lh_table *t, int new_size)
return 0;
}
#if defined(_MSC_VER) && (_MSC_VER < 1900)
unsigned long lh_get_hash(const struct lh_table *t, const void *k)
{
return t->hash_fn(k);
}
#endif
void lh_table_free(struct lh_table *t)
{
struct lh_entry *c;

View File

@@ -322,6 +322,13 @@ void lh_abort(const char *msg, ...);
int lh_table_resize(struct lh_table *t, int new_size);
#if !defined(_MSC_VER) || (_MSC_VER > 1800)
/* VS2010 can't handle inline funcs, so skip it there */
#define _LH_INLINE inline
#else
#define _LH_INLINE
#endif
/**
* Calculate the hash of a key for a given table.
* This is an exension to support functions that need to calculate
@@ -332,19 +339,17 @@ int lh_table_resize(struct lh_table *t, int new_size);
* @param k a pointer to the key to lookup
* @return the key's hash
*/
#if !defined(_MSC_VER) || (_MSC_VER > 1800)
static inline unsigned long lh_get_hash(const struct lh_table *t, const void *k)
{
return t->hash_fn(k);
static _LH_INLINE unsigned long lh_get_hash(const struct lh_table *t, const void *k)
{
return t->hash_fn(k);
}
#else
unsigned long lh_get_hash(const struct lh_table *t, const void *k);
#endif
#undef _LH_INLINE
/* Don't use this outside of linkhash.h: */
#ifdef __UNCONST
#define _LH_UNCONST(a) __UNCONST(a)
#else
#else
#define _LH_UNCONST(a) ((void *)(uintptr_t)(const void *)(a))
#endif