[Libreoffice-commits] core.git: i18npool/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Dec 13 06:25:15 UTC 2018


 i18npool/source/breakiterator/breakiterator_unicode.cxx |   25 +++++++---------
 i18npool/source/localedata/localedata.cxx               |    9 +++--
 2 files changed, 16 insertions(+), 18 deletions(-)

New commits:
commit c5424e19338a3edaec3f0459c8ac5d53ca92d9fe
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Wed Dec 12 13:35:14 2018 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Thu Dec 13 07:24:48 2018 +0100

    loplugin:useuniqueptr in i18npool
    
    Change-Id: I57c6ce2a8c48bc87404e596b8843efd67ea0872d
    Reviewed-on: https://gerrit.libreoffice.org/65033
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/i18npool/source/breakiterator/breakiterator_unicode.cxx b/i18npool/source/breakiterator/breakiterator_unicode.cxx
index 63178f3a05da..1a6818bdae30 100644
--- a/i18npool/source/breakiterator/breakiterator_unicode.cxx
+++ b/i18npool/source/breakiterator/breakiterator_unicode.cxx
@@ -145,7 +145,7 @@ void BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Locale& rLocal
             udata_setAppData("OpenOffice", OpenOffice_dat, &status);
             if ( !U_SUCCESS(status) ) throw uno::RuntimeException();
 
-            OOoRuleBasedBreakIterator *rbi = nullptr;
+            std::unique_ptr<OOoRuleBasedBreakIterator> rbi;
 
             if (breakRules.getLength() > breakType && !breakRules[breakType].isEmpty())
             {
@@ -161,19 +161,18 @@ void BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Locale& rLocal
                     break;  // do
                 }
 
-                rbi = new OOoRuleBasedBreakIterator(udata_open("OpenOffice", "brk",
-                    OUStringToOString(breakRules[breakType], RTL_TEXTENCODING_ASCII_US).getStr(), &status), status);
+                rbi.reset(new OOoRuleBasedBreakIterator(udata_open("OpenOffice", "brk",
+                    OUStringToOString(breakRules[breakType], RTL_TEXTENCODING_ASCII_US).getStr(), &status), status));
 
                 if (U_SUCCESS(status))
                 {
                     icuBI->mpValue.reset( new BI_ValueData);
-                    icuBI->mpValue->mpBreakIterator.reset( rbi);
+                    icuBI->mpValue->mpBreakIterator = std::move( rbi);
                     theBIMap.insert( std::make_pair( aBIMapRuleTypeKey, icuBI->mpValue));
                 }
                 else
                 {
-                    delete rbi;
-                    rbi = nullptr;
+                    rbi.reset();
                 }
             }
             //use icu's breakiterator for Thai, Tibetan and Dzongkha
@@ -199,17 +198,16 @@ void BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Locale& rLocal
                 aUDName.append( aLanguage);
                 UDataMemory* pUData = udata_open("OpenOffice", "brk", aUDName.getStr(), &status);
                 if( U_SUCCESS(status) )
-                    rbi = new OOoRuleBasedBreakIterator( pUData, status);
+                    rbi.reset(new OOoRuleBasedBreakIterator( pUData, status));
                 if ( U_SUCCESS(status) )
                 {
                     icuBI->mpValue.reset( new BI_ValueData);
-                    icuBI->mpValue->mpBreakIterator.reset( rbi);
+                    icuBI->mpValue->mpBreakIterator = std::move( rbi);
                     theBIMap.insert( std::make_pair( aBIMapRuleKey, icuBI->mpValue));
                 }
                 else
                 {
-                    delete rbi;
-                    rbi = nullptr;
+                    rbi.reset();
 
                     // ;rule (only)
                     const OString aBIMapRuleOnlyKey( OString(";") + rule);
@@ -226,17 +224,16 @@ void BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Locale& rLocal
                     status = U_ZERO_ERROR;
                     pUData = udata_open("OpenOffice", "brk", rule, &status);
                     if( U_SUCCESS(status) )
-                        rbi = new OOoRuleBasedBreakIterator( pUData, status);
+                        rbi.reset(new OOoRuleBasedBreakIterator( pUData, status));
                     if ( U_SUCCESS(status) )
                     {
                         icuBI->mpValue.reset( new BI_ValueData);
-                        icuBI->mpValue->mpBreakIterator.reset( rbi);
+                        icuBI->mpValue->mpBreakIterator = std::move( rbi);
                         theBIMap.insert( std::make_pair( aBIMapRuleOnlyKey, icuBI->mpValue));
                     }
                     else
                     {
-                        delete rbi;
-                        rbi = nullptr;
+                        rbi.reset();
                     }
                 }
             }
diff --git a/i18npool/source/localedata/localedata.cxx b/i18npool/source/localedata/localedata.cxx
index 374244eefbe6..118781d7a6b4 100644
--- a/i18npool/source/localedata/localedata.cxx
+++ b/i18npool/source/localedata/localedata.cxx
@@ -561,16 +561,17 @@ oslGenericFunction lcl_LookupTableHelper::getFunctionSymbolByName(
             aBuf.ensureCapacity(strlen(i.pLib) + 4);    // mostly "*.dll"
             aBuf.appendAscii(i.pLib).append( SAL_DLLEXTENSION );
 #endif
-            osl::Module *module = new osl::Module();
+            std::unique_ptr<osl::Module> module(new osl::Module());
             if ( module->loadRelative(&thisModule, aBuf.makeStringAndClear()) )
             {
                 ::osl::MutexGuard aGuard( maMutex );
-                maLookupTable.emplace_back(i.pLib, module, i.pLocale);
+                auto pTmpModule = module.get();
+                maLookupTable.emplace_back(i.pLib, module.release(), i.pLocale);
                 OSL_ASSERT( pOutCachedItem );
                 if( pOutCachedItem )
                 {
                     pOutCachedItem->reset(new LocaleDataLookupTableItem( maLookupTable.back() ));
-                    return module->getFunctionSymbol(
+                    return pTmpModule->getFunctionSymbol(
                             aBuf.appendAscii(pFunction).append(cUnder).
                             appendAscii((*pOutCachedItem)->localeName).makeStringAndClear());
                 }
@@ -578,7 +579,7 @@ oslGenericFunction lcl_LookupTableHelper::getFunctionSymbolByName(
                     return nullptr;
             }
             else
-                delete module;
+                module.reset();
 #else
             (void) pOutCachedItem;
 


More information about the Libreoffice-commits mailing list