diff options
author | Caolán McNamara <caolanm@redhat.com> | 2011-02-11 12:43:31 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2011-02-11 12:43:31 +0000 |
commit | b4ff953aa84b53ef801ad934bbbf2763ae063d4b (patch) | |
tree | 8f57896eecdc7ae5dc3d2e80cbe02d49eb59e9fe | |
parent | 947c2ac8e074bad392a0b0f21e3402c38a344ed5 (diff) |
(std|boost)::hash on a const char* hashes the pointer not the contents
-rw-r--r-- | svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx b/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx index 0667dff6d29a..66cf3d3aec49 100644 --- a/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx +++ b/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx @@ -32,6 +32,13 @@ #include <osl/mutex.hxx> #include <boost/unordered_map.hpp> +struct THash +{ + size_t operator()( const char* s ) const + { + return rtl_str_hashCode(s); + } +}; struct TCheck { bool operator()( const char* s1, const char* s2 ) const @@ -39,7 +46,7 @@ struct TCheck return strcmp( s1, s2 ) == 0; } }; -typedef boost::unordered_map< const char*, MSO_SPT, boost::hash<const char*>, TCheck> TypeNameHashMap; +typedef boost::unordered_map< const char*, MSO_SPT, THash, TCheck> TypeNameHashMap; static TypeNameHashMap* pHashMap = NULL; static ::osl::Mutex& getHashMapMutex() { |