X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f12885449a3c112354428207f4663ca9f3d74dc8..b63178102175bec0fbc7d905567edaf1822cd238:/include/wx/hashmap.h diff --git a/include/wx/hashmap.h b/include/wx/hashmap.h index 8c234228f2..b1d2f06314 100644 --- a/include/wx/hashmap.h +++ b/include/wx/hashmap.h @@ -101,6 +101,10 @@ protected: { return (void **)calloc(sz, sizeof(void*)); } + static void FreeTable(void *table) + { + free(table); + } }; #define _WX_DECLARE_HASHTABLE( VALUE_T, KEY_T, HASH_T, KEY_EX_T, KEY_EQ_T, CLASSNAME, CLASSEXP, SHOULD_GROW, SHOULD_SHRINK ) \ @@ -248,7 +252,7 @@ public: \ { \ clear(); \ \ - free(m_table); \ + FreeTable(m_table); \ } \ \ hasher hash_funct() { return m_hasher; } \ @@ -337,7 +341,7 @@ protected: \ /* returns NULL if not found */ \ Node** GetNodePtr( const const_key_type& key ) const \ { \ - unsigned long hash = m_hasher( key ); \ + unsigned long hash = wx_static_cast(unsigned long, m_hasher( key )); \ Node** node = &m_table[hash % m_tableBuckets]; \ \ while( *node ) \ @@ -354,7 +358,7 @@ protected: \ /* expressing it in terms of GetNodePtr is 5-8% slower :-( */ \ Node* GetNode( const const_key_type& key ) const \ { \ - unsigned long hash = m_hasher( key ); \ + unsigned long hash = wx_static_cast(unsigned long, m_hasher( key )); \ Node* node = m_table[hash % m_tableBuckets]; \ \ while( node ) \ @@ -379,7 +383,7 @@ protected: \ this, (_wxHashTable_NodeBase**)m_table, \ (BucketFromNode)GetBucketForNode,\ (ProcessNode)&DummyProcessNode ); \ - free(srcTable); \ + FreeTable(srcTable); \ } \ \ /* this must be called _after_ m_table has been cleaned */ \