summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-08-06 16:35:26 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-08-07 09:52:26 +0200
commitffdd06c2237f7dd935581e43c08d079b6a4337cd (patch)
tree3cb4cd39dce525b344086c5609656e2d81a7f44c /svl
parent59f5f666a5085ae58a8dd164636a6bea47e6bddc (diff)
SharedStringPool is always called with a CharClass
Change-Id: Ib2b9963a90a135998b6189fba521bd85f5579cf5 Reviewed-on: https://gerrit.libreoffice.org/58645 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svl')
-rw-r--r--svl/qa/unit/svl.cxx4
-rw-r--r--svl/source/misc/sharedstringpool.cxx14
2 files changed, 7 insertions, 11 deletions
diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 69c1be6f853f..ec65d2962ccf 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -311,7 +311,7 @@ void Test::testSharedString()
void Test::testSharedStringPool()
{
SvtSysLocale aSysLocale;
- svl::SharedStringPool aPool(aSysLocale.GetCharClassPtr());
+ svl::SharedStringPool aPool(*aSysLocale.GetCharClassPtr());
svl::SharedString p1, p2;
p1 = aPool.intern("Andy");
@@ -344,7 +344,7 @@ void Test::testSharedStringPool()
void Test::testSharedStringPoolPurge()
{
SvtSysLocale aSysLocale;
- svl::SharedStringPool aPool(aSysLocale.GetCharClassPtr());
+ svl::SharedStringPool aPool(*aSysLocale.GetCharClassPtr());
aPool.intern("Andy");
aPool.intern("andy");
aPool.intern("ANDY");
diff --git a/svl/source/misc/sharedstringpool.cxx b/svl/source/misc/sharedstringpool.cxx
index 64993497957b..af1d80ef65d0 100644
--- a/svl/source/misc/sharedstringpool.cxx
+++ b/svl/source/misc/sharedstringpool.cxx
@@ -52,13 +52,13 @@ struct SharedStringPool::Impl
StrHashType maStrPool;
StrHashType maStrPoolUpper;
StrStoreType maStrStore;
- const CharClass* mpCharClass;
+ const CharClass& mrCharClass;
- explicit Impl( const CharClass* pCharClass ) : mpCharClass(pCharClass) {}
+ explicit Impl( const CharClass& rCharClass ) : mrCharClass(rCharClass) {}
};
-SharedStringPool::SharedStringPool( const CharClass* pCharClass ) :
- mpImpl(new Impl(pCharClass)) {}
+SharedStringPool::SharedStringPool( const CharClass& rCharClass ) :
+ mpImpl(new Impl(rCharClass)) {}
SharedStringPool::~SharedStringPool()
{
@@ -72,10 +72,6 @@ SharedString SharedStringPool::intern( const OUString& rStr )
rtl_uString* pOrig = aRes.first->pData;
- if (!mpImpl->mpCharClass)
- // We don't track case insensitive strings.
- return SharedString(pOrig, nullptr);
-
if (!aRes.second)
{
// No new string has been inserted. Return the existing string in the pool.
@@ -88,7 +84,7 @@ SharedString SharedStringPool::intern( const OUString& rStr )
// This is a new string insertion. Establish mapping to upper-case variant.
- OUString aUpper = mpImpl->mpCharClass->uppercase(rStr);
+ OUString aUpper = mpImpl->mrCharClass.uppercase(rStr);
aRes = findOrInsert(mpImpl->maStrPoolUpper, aUpper);
assert(aRes.first != mpImpl->maStrPoolUpper.end());