basctl/source/basicide/baside2.cxx | 4 +--- basic/source/runtime/methods.cxx | 12 +++--------- basic/source/runtime/runtime.cxx | 11 +++-------- connectivity/source/drivers/file/FStringFunctions.cxx | 4 +--- editeng/source/editeng/impedit3.cxx | 8 +++----- sc/source/core/data/table4.cxx | 4 +--- sc/source/filter/xml/celltextparacontext.cxx | 5 ++--- svl/source/numbers/zforlist.cxx | 3 +-- svl/source/numbers/zformat.cxx | 4 +--- 9 files changed, 16 insertions(+), 39 deletions(-)
New commits: commit 02e946c1d172530f0defc1e8272fc2f7b31151d5 Author: Mike Kaganski <[email protected]> AuthorDate: Fri Aug 29 02:05:47 2025 +0500 Commit: Mike Kaganski <[email protected]> CommitDate: Fri Aug 29 06:11:45 2025 +0200 Use RepeatedUChar in connectivity, editeng, sc and svl Change-Id: If7cae3388c644e2c1dacfc63dd904f7048f77070 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190344 Reviewed-by: Mike Kaganski <[email protected]> Tested-by: Jenkins diff --git a/connectivity/source/drivers/file/FStringFunctions.cxx b/connectivity/source/drivers/file/FStringFunctions.cxx index d02c7cce1737..024a72a2fecb 100644 --- a/connectivity/source/drivers/file/FStringFunctions.cxx +++ b/connectivity/source/drivers/file/FStringFunctions.cxx @@ -154,9 +154,7 @@ ORowSetValue OOp_Space::operate(const ORowSetValue& lhs) const return lhs; sal_Int32 nCount = std::max(lhs.getInt32(), sal_Int32(0)); - OUStringBuffer sRet(nCount); - comphelper::string::padToLength(sRet, nCount, ' '); - return sRet.makeStringAndClear(); + return OUString(OUString::Concat(RepeatedUChar(' ', nCount))); } ORowSetValue OOp_Replace::operate(const std::vector<ORowSetValue>& lhs) const diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx index f28e8bf9e550..f8a29522e5e2 100644 --- a/editeng/source/editeng/impedit3.cxx +++ b/editeng/source/editeng/impedit3.cxx @@ -3904,7 +3904,7 @@ void ImpEditEngine::StripAllPortions( OutputDevice& rOutDev, tools::Rectangle aC break; case PortionKind::TAB: { - if ( rTextPortion.GetExtraValue() && ( rTextPortion.GetExtraValue() != ' ' ) ) + if (auto c = rTextPortion.GetExtraValue(); c && (c != ' ')) { // calculate expanded text SeekCursor(rParaPortion.GetNode(), nIndex+1, aTmpFont, &rOutDev); @@ -3912,7 +3912,7 @@ void ImpEditEngine::StripAllPortions( OutputDevice& rOutDev, tools::Rectangle aC aTmpFont.SetEscapement( 0 ); aTmpFont.SetPhysFont(rOutDev); tools::Long nCharWidth = aTmpFont.QuickGetTextSize( &rOutDev, - OUString(rTextPortion.GetExtraValue()), 0, 1, {} ).Width(); + OUString(c), 0, 1, {} ).Width(); sal_Int32 nChars = 2; if( nCharWidth ) nChars = rTextPortion.GetSize().Width() / nCharWidth; @@ -3922,9 +3922,7 @@ void ImpEditEngine::StripAllPortions( OutputDevice& rOutDev, tools::Rectangle aC nChars = 3; // looks better // create expanded text - OUStringBuffer aBuf(nChars); - comphelper::string::padToLength(aBuf, nChars, rTextPortion.GetExtraValue()); - OUString aText(aBuf.makeStringAndClear()); + OUString aText(OUString::Concat(RepeatedUChar(c, nChars))); // create EOL and EOP bools const bool bEndOfLine(nPortion == pLine->GetEndPortion()); diff --git a/sc/source/core/data/table4.cxx b/sc/source/core/data/table4.cxx index ae641dea45cc..295cd1f442c7 100644 --- a/sc/source/core/data/table4.cxx +++ b/sc/source/core/data/table4.cxx @@ -127,9 +127,7 @@ OUString lcl_ValueString( sal_Int32 nValue, sal_uInt16 nMinDigits ) OUString aStr = OUString::number( std::abs( nValue ) ); if ( aStr.getLength() < nMinDigits ) { - OUStringBuffer aZero(nMinDigits); - comphelper::string::padToLength(aZero, nMinDigits - aStr.getLength(), '0'); - aStr = aZero.append(aStr).makeStringAndClear(); + aStr = RepeatedUChar('0', nMinDigits - aStr.getLength()) + aStr; } // nMinDigits doesn't include the '-' sign -> add after inserting zeros if ( nValue < 0 ) diff --git a/sc/source/filter/xml/celltextparacontext.cxx b/sc/source/filter/xml/celltextparacontext.cxx index 26293e7d8db9..c0fef3a8a59e 100644 --- a/sc/source/filter/xml/celltextparacontext.cxx +++ b/sc/source/filter/xml/celltextparacontext.cxx @@ -347,9 +347,8 @@ void ScXMLCellFieldSContext::PushSpaces() mrParentCxt.PushSpan(u" ", maStyleName); else { - OUStringBuffer aBuf( mnCount); - comphelper::string::padToLength( aBuf, mnCount, ' '); - mrParentCxt.PushSpan( aBuf.makeStringAndClear(), maStyleName); + mrParentCxt.PushSpan(Concat2View(OUString::Concat(RepeatedUChar(' ', mnCount))), + maStyleName); } } } diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx index ce8bfb8c9391..2ae7abe17465 100644 --- a/svl/source/numbers/zforlist.cxx +++ b/svl/source/numbers/zforlist.cxx @@ -3564,8 +3564,7 @@ OUString SvNFEngine::GenerateFormat(SvNFLanguageData& rCurrentLanguage, } if (nPrecision > 0 && eType != SvNumFormatType::FRACTION && !( eType & SvNumFormatType::TIME ) ) { - sString.append(rCurrentLanguage.GetNumDecimalSep()); - padToLength(sString, sString.getLength() + nPrecision, '0'); + sString.append(rCurrentLanguage.GetNumDecimalSep() + RepeatedUChar('0', nPrecision)); } // Native Number diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx index d72d7202dfe0..65855709854a 100644 --- a/svl/source/numbers/zformat.cxx +++ b/svl/source/numbers/zformat.cxx @@ -6052,7 +6052,6 @@ bool SvNumberformat::IsMinuteSecondFormat() const OUString SvNumberformat::GetFormatStringForTimePrecision( int nPrecision ) const { OUStringBuffer sString; - using comphelper::string::padToLength; sal_uInt16 nNumForCnt = NumFor[0].GetCount(); auto const & rTypeArray = NumFor[0].Info().nTypeArray; @@ -6070,8 +6069,7 @@ OUString SvNumberformat::GetFormatStringForTimePrecision( int nPrecision ) const } if (nPrecision > 0) { - sString.append( rLoc().getTime100SecSep() ); - padToLength(sString, sString.getLength() + nPrecision, '0'); + sString.append(rLoc().getTime100SecSep() + RepeatedUChar('0', nPrecision)); } break; case NF_SYMBOLTYPE_TIME100SECSEP: commit d3504acf62c49d4aa67efe732967c58ed9caff8e Author: Mike Kaganski <[email protected]> AuthorDate: Fri Aug 29 02:01:59 2025 +0500 Commit: Mike Kaganski <[email protected]> CommitDate: Fri Aug 29 06:11:38 2025 +0200 Use RepeatedUChar in basctl and basic Change-Id: I87a6e802ef3720dd290ddbe202dad6a9220365c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190343 Tested-by: Jenkins Reviewed-by: Mike Kaganski <[email protected]> diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx index 852e6204af50..5276895999d7 100644 --- a/basctl/source/basicide/baside2.cxx +++ b/basctl/source/basicide/baside2.cxx @@ -184,10 +184,8 @@ void lcl_ConvertTabsToSpaces( OUString& rLine ) if ( aResult[nPos] == ' ' ) { // not 4 Blanks, but at 4 TabPos: - OUStringBuffer aBlanker; - string::padToLength(aBlanker, ( 4 - ( nPos % 4 ) ), ' '); aResult.remove( nPos, 1 ); - aResult.insert( nPos, aBlanker ); + aResult.insert(nPos, OUString::Concat(RepeatedUChar(' ', 4 - (nPos % 4)))); nMax = aResult.getLength(); } ++nPos; diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx index 33bd72e61e3f..fe427a0dbc9b 100644 --- a/basic/source/runtime/methods.cxx +++ b/basic/source/runtime/methods.cxx @@ -1300,9 +1300,7 @@ void SbRtl_Space(StarBASIC *, SbxArray & rPar, bool) } const sal_Int32 nCount = rPar.Get(1)->GetLong(); - OUStringBuffer aBuf(nCount); - string::padToLength(aBuf, nCount, ' '); - rPar.Get(0)->PutString(aBuf.makeStringAndClear()); + rPar.Get(0)->PutString(OUString::Concat(RepeatedUChar(' ', nCount))); } void SbRtl_Sqr(StarBASIC *, SbxArray & rPar, bool) @@ -1466,9 +1464,7 @@ void SbRtl_String(StarBASIC *, SbxArray & rPar, bool) const OUString aStr = rPar.Get(2)->GetOUString(); aFiller = aStr[0]; } - OUStringBuffer aBuf(lCount); - string::padToLength(aBuf, lCount, aFiller); - rPar.Get(0)->PutString(aBuf.makeStringAndClear()); + rPar.Get(0)->PutString(OUString::Concat(RepeatedUChar(aFiller, lCount))); } void SbRtl_Tab(StarBASIC *, SbxArray & rPar, bool) @@ -1479,9 +1475,7 @@ void SbRtl_Tab(StarBASIC *, SbxArray & rPar, bool) } const sal_Int32 nCount = std::max(rPar.Get(1)->GetLong(), sal_Int32(0)); - OUStringBuffer aStr(nCount); - comphelper::string::padToLength(aStr, nCount, ' '); - rPar.Get(0)->PutString(aStr.makeStringAndClear()); + rPar.Get(0)->PutString(OUString::Concat(RepeatedUChar(' ', nCount))); } void SbRtl_Tan(StarBASIC *, SbxArray & rPar, bool) diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx index bf0cefbc0e16..93775a086554 100644 --- a/basic/source/runtime/runtime.cxx +++ b/basic/source/runtime/runtime.cxx @@ -2083,17 +2083,14 @@ void SbiRuntime::StepRSET() sal_Int32 nVarStrLen = aRefVarString.getLength(); sal_Int32 nValStrLen = aRefValString.getLength(); - OUStringBuffer aNewStr(nVarStrLen); if (nVarStrLen > nValStrLen) { - comphelper::string::padToLength(aNewStr, nVarStrLen - nValStrLen, ' '); - aNewStr.append(aRefValString); + refVar->PutString(RepeatedUChar(' ', nVarStrLen - nValStrLen) + aRefValString); } else { - aNewStr.append(aRefValString.subView(0, nVarStrLen)); + refVar->PutString(aRefValString.copy(0, nVarStrLen)); } - refVar->PutString(aNewStr.makeStringAndClear()); refVar->SetFlags( n ); } @@ -4583,9 +4580,7 @@ void SbiRuntime::implHandleSbxFlags( SbxVariable* pVar, SbxDataType t, sal_uInt3 if( bFixedString ) { sal_uInt16 nCount = static_cast<sal_uInt16>( nOp2 >> 17 ); // len = all bits above 0x10000 - OUStringBuffer aBuf(nCount); - comphelper::string::padToLength(aBuf, nCount); - pVar->PutString(aBuf.makeStringAndClear()); + pVar->PutString(OUString::Concat(RepeatedUChar(' } bool bVarToDim = ((nOp2 & SBX_TYPE_VAR_TO_DIM_FLAG) != 0);
