Browse Source

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

tags/json-c-0.13-20171207
Eric Haszlakiewicz 8 years ago
parent
commit
32f503f738
2 changed files with 13 additions and 15 deletions
  1. +0
    -7
      linkhash.c
  2. +13
    -8
      linkhash.h

+ 0
- 7
linkhash.c 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;


+ 13
- 8
linkhash.h 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



Loading…
Cancel
Save