diff options
Diffstat (limited to 'svl')
-rw-r--r-- | svl/qa/unit/svl.cxx | 39 | ||||
-rw-r--r-- | svl/source/misc/stringpool.cxx | 10 |
2 files changed, 26 insertions, 23 deletions
diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx index f41ab737783d..003a1523b163 100644 --- a/svl/qa/unit/svl.cxx +++ b/svl/qa/unit/svl.cxx @@ -305,27 +305,30 @@ void Test::testStringPool() CPPUNIT_ASSERT_MESSAGE("They must differ.", p1 != p2); OUString aAndy("Andy"); - p2 = aPool.getIdentifier(aAndy); - CPPUNIT_ASSERT_EQUAL(p1, p2); + svl::StringPool::StrIdType si1 = aPool.getIdentifier("Andy"); + svl::StringPool::StrIdType si2 = aPool.getIdentifier(aAndy); + CPPUNIT_ASSERT_EQUAL(si1, si2); // Test case insensitive string ID's. OUString aAndyLower("andy"), aAndyUpper("ANDY"); - p1 = aPool.getIdentifier("Andy"); - CPPUNIT_ASSERT_MESSAGE("This shouldn't be NULL.", p1); - p2 = aPool.intern(aAndyLower); - CPPUNIT_ASSERT_MESSAGE("They must differ.", p1 != p2); - p2 = aPool.intern(aAndyUpper); - CPPUNIT_ASSERT_MESSAGE("They must differ.", p1 != p2); - - p1 = aPool.getIdentifierIgnoreCase("Andy"); - CPPUNIT_ASSERT_MESSAGE("This shouldn't be NULL.", p1); - p2 = aPool.getIdentifierIgnoreCase("andy"); - CPPUNIT_ASSERT_MESSAGE("This shouldn't be NULL.", p2); - CPPUNIT_ASSERT_EQUAL(p1, p2); - - p2 = aPool.getIdentifierIgnoreCase("ANDY"); - CPPUNIT_ASSERT_MESSAGE("This shouldn't be NULL.", p2); - CPPUNIT_ASSERT_EQUAL(p1, p2); + si1 = aPool.getIdentifier("Andy"); + CPPUNIT_ASSERT_MESSAGE("This shouldn't be NULL.", si1); + aPool.intern(aAndyLower); + si2 = aPool.getIdentifier(aAndyLower); + CPPUNIT_ASSERT_MESSAGE("They must differ.", si1 != si2); + aPool.intern(aAndyUpper); + si2 = aPool.getIdentifier(aAndyUpper); + CPPUNIT_ASSERT_MESSAGE("They must differ.", si1 != si2); + + si1 = aPool.getIdentifierIgnoreCase("Andy"); + CPPUNIT_ASSERT_MESSAGE("This shouldn't be NULL.", si1); + si2 = aPool.getIdentifierIgnoreCase("andy"); + CPPUNIT_ASSERT_MESSAGE("This shouldn't be NULL.", si2); + CPPUNIT_ASSERT_EQUAL(si1, si2); + + si2 = aPool.getIdentifierIgnoreCase("ANDY"); + CPPUNIT_ASSERT_MESSAGE("This shouldn't be NULL.", si2); + CPPUNIT_ASSERT_EQUAL(si1, si2); } void Test::checkPreviewString(SvNumberFormatter& aFormatter, diff --git a/svl/source/misc/stringpool.cxx b/svl/source/misc/stringpool.cxx index 1181538e4ecf..c0030fefa2cd 100644 --- a/svl/source/misc/stringpool.cxx +++ b/svl/source/misc/stringpool.cxx @@ -46,20 +46,20 @@ rtl_uString* StringPool::intern( const OUString& rStr ) return pOrig; } -const rtl_uString* StringPool::getIdentifier( const OUString& rStr ) const +StringPool::StrIdType StringPool::getIdentifier( const OUString& rStr ) const { StrHashType::iterator it = maStrPool.find(rStr); - return (it == maStrPool.end()) ? NULL : it->pData; + return (it == maStrPool.end()) ? 0 : reinterpret_cast<StrIdType>(it->pData); } -const rtl_uString* StringPool::getIdentifierIgnoreCase( const OUString& rStr ) const +StringPool::StrIdType StringPool::getIdentifierIgnoreCase( const OUString& rStr ) const { if (!mpCharClass) - return NULL; + return 0; OUString aUpper = mpCharClass->uppercase(rStr); StrHashType::iterator it = maStrPoolUpper.find(aUpper); - return (it == maStrPool.end()) ? NULL : it->pData; + return (it == maStrPool.end()) ? 0 : reinterpret_cast<StrIdType>(it->pData); } StringPool::InsertResultType StringPool::findOrInsert( StrHashType& rPool, const OUString& rStr ) const |