include/tools/string.hxx | 2 - reportdesign/source/ui/inspection/GeometryHandler.cxx | 12 +++++----- sc/source/core/tool/rangeutl.cxx | 10 ++++----- sc/source/ui/app/inputwin.cxx | 6 ----- sc/source/ui/drawfunc/drtxtob.cxx | 3 +- sw/source/core/doc/docfld.cxx | 4 +-- sw/source/core/doc/doctxm.cxx | 20 +++++++++--------- sw/source/filter/ascii/ascatr.cxx | 6 ++--- sw/source/filter/html/wrthtml.cxx | 13 ++++------- sw/source/filter/ww8/docxattributeoutput.cxx | 17 +++++++-------- sw/source/filter/ww8/docxattributeoutput.hxx | 2 - sw/source/filter/ww8/wrtw8nds.cxx | 12 +++++----- sw/source/filter/ww8/wrtw8sty.cxx | 5 +--- sw/source/filter/ww8/ww8atr.cxx | 10 +++------ sw/source/ui/dbui/dbui.cxx | 6 ++--- sw/source/ui/dbui/mmlayoutpage.cxx | 4 +-- sw/source/ui/misc/redlndlg.cxx | 15 +++++-------- sw/source/ui/uiview/viewport.cxx | 10 +++++---- tools/source/string/strimp.cxx | 19 ----------------- tools/source/string/tustring.cxx | 15 ------------- 20 files changed, 72 insertions(+), 119 deletions(-)
New commits: commit 9914e44400524a2ffafd1efbd7f717281af27a74 Author: Caolán McNamara <caol...@redhat.com> Date: Tue Oct 8 14:03:03 2013 +0100 can drop casts now Change-Id: If54ee50dd3d3d856257882c40e4424bbbe3eac45 diff --git a/sc/source/core/tool/rangeutl.cxx b/sc/source/core/tool/rangeutl.cxx index 1d32cb2..e5a8acb 100644 --- a/sc/source/core/tool/rangeutl.cxx +++ b/sc/source/core/tool/rangeutl.cxx @@ -503,17 +503,17 @@ sal_Bool ScRangeStringConverter::GetRangeFromString( // This isn't parsed by ScRange, so try to parse the two Addresses then. if (!bResult) { - bResult = ((rRange.aStart.Parse( aUIString.copy(0, (xub_StrLen)nIndex), const_cast<ScDocument*>(pDocument), + bResult = ((rRange.aStart.Parse( aUIString.copy(0, nIndex), const_cast<ScDocument*>(pDocument), eConv) & SCA_VALID) == SCA_VALID) && - ((rRange.aEnd.Parse( aUIString.copy((xub_StrLen)nIndex+1), const_cast<ScDocument*>(pDocument), + ((rRange.aEnd.Parse( aUIString.copy(nIndex+1), const_cast<ScDocument*>(pDocument), eConv) & SCA_VALID) == SCA_VALID); ::formula::FormulaGrammar::AddressConvention eConvUI = pDocument->GetAddressConvention(); if (!bResult && eConv != eConvUI) { - bResult = ((rRange.aStart.Parse( aUIString.copy(0, (xub_StrLen)nIndex), const_cast<ScDocument*>(pDocument), + bResult = ((rRange.aStart.Parse( aUIString.copy(0, nIndex), const_cast<ScDocument*>(pDocument), eConvUI) & SCA_VALID) == SCA_VALID) && - ((rRange.aEnd.Parse( aUIString.copy((xub_StrLen)nIndex+1), const_cast<ScDocument*>(pDocument), + ((rRange.aEnd.Parse( aUIString.copy(nIndex+1), const_cast<ScDocument*>(pDocument), eConvUI) & SCA_VALID) == SCA_VALID); } } commit 97527649bc03e9db1f74f788884c3f5211427a4e Author: Caolán McNamara <caol...@redhat.com> Date: Tue Oct 8 14:01:11 2013 +0100 just copy everything remaining Change-Id: I32a7b82eae664a60bf4bc73cb2645d3132ddaa81 diff --git a/sc/source/core/tool/rangeutl.cxx b/sc/source/core/tool/rangeutl.cxx index 1395a63..1d32cb2 100644 --- a/sc/source/core/tool/rangeutl.cxx +++ b/sc/source/core/tool/rangeutl.cxx @@ -126,7 +126,7 @@ sal_Bool ScRangeUtil::IsAbsTabArea( const OUString& rAreaStr, ScRefAddress aEndPos; aStartPosStr = aTempAreaStr.copy( 0, nColonPos ); - aEndPosStr = aTempAreaStr.copy( nColonPos+1, STRING_LEN ); + aEndPosStr = aTempAreaStr.copy( nColonPos+1 ); if ( ConvertSingleRef( pDoc, aStartPosStr, 0, aStartPos, rDetails ) ) { commit 387c88a1e6d743ae7c0cc131fc74281e2be42092 Author: Caolán McNamara <caol...@redhat.com> Date: Tue Oct 8 13:31:42 2013 +0100 drop intermediate strings Change-Id: I603031739aef12393084b14a51aa2a61311e5709 diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index fc0bd81..ca2f9ae 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -618,11 +618,7 @@ void ScInputWindow::SetTextString( const OUString& rString ) if (rString.getLength() <= 32767) aTextWindow.SetTextString(rString); else - { - OUString aNew = rString; - aNew = aNew.copy(0, 32767); - aTextWindow.SetTextString(aNew); - } + aTextWindow.SetTextString(rString.copy(0, 32767)); } void ScInputWindow::SetOkCancelMode() commit 832e5aadbff006ec24959162c29756fe2b1982be Author: Caolán McNamara <caol...@redhat.com> Date: Tue Oct 8 10:06:59 2013 +0100 Related: fdo#38838 remove UniString::SearchAndReplaceAll Change-Id: I093c95b8700b628375d69293022f7d4b8da2af9c diff --git a/include/tools/string.hxx b/include/tools/string.hxx index c6217dc..75aa0b8 100644 --- a/include/tools/string.hxx +++ b/include/tools/string.hxx @@ -245,8 +245,6 @@ public: xub_StrLen nIndex = 0 ); xub_StrLen SearchAndReplace( const UniString& rStr, const UniString& rRepStr, xub_StrLen nIndex = 0 ); - void SearchAndReplaceAll( sal_Unicode c, sal_Unicode cRep ); - void SearchAndReplaceAll( const UniString& rStr, const UniString& rRepStr ); void SetToken( xub_StrLen nToken, sal_Unicode cTok, const UniString& rStr, xub_StrLen nIndex = 0 ); diff --git a/reportdesign/source/ui/inspection/GeometryHandler.cxx b/reportdesign/source/ui/inspection/GeometryHandler.cxx index 3f40709..892e217 100644 --- a/reportdesign/source/ui/inspection/GeometryHandler.cxx +++ b/reportdesign/source/ui/inspection/GeometryHandler.cxx @@ -2114,9 +2114,9 @@ void GeometryHandler::impl_createFunction(const OUString& _sFunctionName,const O const String sPlaceHolder1(RTL_CONSTASCII_USTRINGPARAM("%Column")); const String sPlaceHolder2(RTL_CONSTASCII_USTRINGPARAM("%FunctionName")); - String sFormula(_aFunction.m_sFormula); - sFormula.SearchAndReplaceAll(sPlaceHolder1,_sDataField); - sFormula.SearchAndReplaceAll(sPlaceHolder2,_sFunctionName); + OUString sFormula(_aFunction.m_sFormula); + sFormula = sFormula.replaceAll(sPlaceHolder1,_sDataField); + sFormula = sFormula.replaceAll(sPlaceHolder2,_sFunctionName); m_xFunction->setFormula(sFormula); m_xFunction->setPreEvaluated(_aFunction.m_bPreEvaluated); @@ -2124,9 +2124,9 @@ void GeometryHandler::impl_createFunction(const OUString& _sFunctionName,const O if ( _aFunction.m_sInitialFormula.IsPresent ) { beans::Optional< OUString> aInitialFormula = _aFunction.m_sInitialFormula; - String sInitialFormula = aInitialFormula.Value; - sInitialFormula.SearchAndReplaceAll(sPlaceHolder1,_sDataField); - sInitialFormula.SearchAndReplaceAll(sPlaceHolder2,_sFunctionName); + OUString sInitialFormula = aInitialFormula.Value; + sInitialFormula = sInitialFormula.replaceAll(sPlaceHolder1,_sDataField); + sInitialFormula = sInitialFormula.replaceAll(sPlaceHolder2,_sFunctionName); aInitialFormula.Value = sInitialFormula; m_xFunction->setInitialFormula( aInitialFormula ); } diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx index 6b83111..ab25cf6 100644 --- a/sw/source/core/doc/docfld.cxx +++ b/sw/source/core/doc/docfld.cxx @@ -284,9 +284,9 @@ SwFieldType* SwDoc::GetFldType( sal_uInt16 nResId, const String& rName, { SwFieldType* pFldType = (*mpFldTypes)[i]; - String aFldName( pFldType->GetName() ); + OUString aFldName( pFldType->GetName() ); if (bDbFieldMatching && nResId == RES_DBFLD) // #i51815# - aFldName.SearchAndReplaceAll(DB_DELIM, '.'); + aFldName = aFldName.replace(DB_DELIM, '.'); if( nResId == pFldType->Which() && rSCmp.isEqual( rName, aFldName )) diff --git a/sw/source/core/doc/doctxm.cxx b/sw/source/core/doc/doctxm.cxx index 0dbe245..2ac32a6 100644 --- a/sw/source/core/doc/doctxm.cxx +++ b/sw/source/core/doc/doctxm.cxx @@ -1539,28 +1539,28 @@ static String lcl_GetNumString( const SwTOXSortTabBase& rBase, bool bUsePrefix, /// Generate String with newlines changed to spaces, consecutive spaces changed /// to a single space, and trailing space removed. -String lcl_RemoveLineBreaks( String sRet ) +OUString lcl_RemoveLineBreaks(const OUString &rRet) { - if (!sRet.Len()) - return sRet; - xub_StrLen nOffset = 0; - sRet.SearchAndReplaceAll('\n', ' '); - for (xub_StrLen i = 1; i < sRet.Len(); i++) + if (rRet.isEmpty()) + return rRet; + sal_Int32 nOffset = 0; + OUStringBuffer sRet(rRet.replace('\n', ' ')); + for (sal_Int32 i = 1; i < sRet.getLength(); ++i) { - if ( sRet.GetChar(i - 1) == ' ' && sRet.GetChar(i) == ' ' ) + if ( sRet[i - 1] == ' ' && sRet[i] == ' ' ) { nOffset += 1; } else { - sRet.SetChar(i - nOffset, sRet.GetChar(i)); + sRet[i - nOffset] = sRet[i]; } } - if (sRet.GetChar(sRet.Len() - 1) == ' ') + if (sRet[sRet.getLength() - 1] == ' ') { nOffset += 1; } - return sRet.Copy(0, sRet.Len() - nOffset); + return sRet.copy(0, sRet.getLength() - nOffset).toString(); } // Add parameter <_TOXSectNdIdx> and <_pDefaultPageDesc> in order to control, diff --git a/sw/source/filter/ascii/ascatr.cxx b/sw/source/filter/ascii/ascatr.cxx index 87a4000..17f7983 100644 --- a/sw/source/filter/ascii/ascatr.cxx +++ b/sw/source/filter/ascii/ascatr.cxx @@ -165,9 +165,9 @@ static Writer& OutASC_SwTxtNode( Writer& rWrt, SwCntntNode& rNode ) } } - String aStr( rNd.GetTxt() ); + OUString aStr( rNd.GetTxt() ); if( rWrt.bASCII_ParaAsBlanc ) - aStr.SearchAndReplaceAll( 0x0A, ' ' ); + aStr = aStr.replace(0x0A, ' '); const bool bExportSoftHyphens = RTL_TEXTENCODING_UCS2 == rWrt.GetAsciiOptions().GetCharSet() || RTL_TEXTENCODING_UTF8 == rWrt.GetAsciiOptions().GetCharSet(); @@ -180,7 +180,7 @@ static Writer& OutASC_SwTxtNode( Writer& rWrt, SwCntntNode& rNode ) if( !aAttrIter.OutAttr( nStrPos )) { - String aOutStr( aStr.Copy( nStrPos, nNextAttr - nStrPos ) ); + String aOutStr( aStr.copy( nStrPos, nNextAttr - nStrPos ) ); if ( !bExportSoftHyphens ) aOutStr = comphelper::string::remove(aOutStr, CHAR_SOFTHYPHEN); diff --git a/sw/source/filter/html/wrthtml.cxx b/sw/source/filter/html/wrthtml.cxx index cf13747..a2f8a68 100644 --- a/sw/source/filter/html/wrthtml.cxx +++ b/sw/source/filter/html/wrthtml.cxx @@ -1059,9 +1059,8 @@ void SwHTMLWriter::OutBookmarks() while( nPos < aOutlineMarkPoss.size() && aOutlineMarkPoss[nPos] == nNode ) { - String sMark( aOutlineMarks[nPos] ); - sMark.SearchAndReplaceAll( '?', '_' ); // '?' causes problems in IE/Netscape 5 - OutAnchor( sMark ); + OUString sMark( aOutlineMarks[nPos] ); + OutAnchor( sMark.replace('?', '_') ); // '?' causes problems in IE/Netscape 5 aOutlineMarkPoss.erase( aOutlineMarkPoss.begin()+nPos ); aOutlineMarks.erase( aOutlineMarks.begin() + nPos ); } @@ -1072,13 +1071,11 @@ void SwHTMLWriter::OutImplicitMark( const String& rMark, { if( rMark.Len() && !aImplicitMarks.empty() ) { - String sMark( rMark ); - sMark.Append( cMarkSeparator ); - sMark.AppendAscii( pMarkType ); + OUString sMark( rMark ); + sMark + OUString(cMarkSeparator) + OUString::createFromAscii(pMarkType); if( 0 != aImplicitMarks.erase( sMark ) ) { - sMark.SearchAndReplaceAll( '?', '_' ); // '?' causes problems in IE/Netscape 5 - OutAnchor( sMark ); + OutAnchor(sMark.replace('?', '_')); // '?' causes problems in IE/Netscape 5 } } } diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index 1940fa2..1bcedd3 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -890,9 +890,9 @@ void DocxAttributeOutput::StartField_Impl( FieldInfos& rInfos, bool bWriteRun ) } } -void DocxAttributeOutput::DoWriteCmd( String& rCmd ) +void DocxAttributeOutput::DoWriteCmd( const OUString& rCmd ) { - OUString sCmd = OUString(rCmd).trim(); + OUString sCmd = rCmd.trim(); if (sCmd.startsWith("SEQ")) { OUString sSeqName = msfilter::util::findQuotedText(sCmd, "SEQ ", '\\').trim(); @@ -900,7 +900,7 @@ void DocxAttributeOutput::DoWriteCmd( String& rCmd ) } // Write the Field command m_pSerializer->startElementNS( XML_w, XML_instrText, FSEND ); - m_pSerializer->writeEscaped( OUString( rCmd ) ); + m_pSerializer->writeEscaped( rCmd ); m_pSerializer->endElementNS( XML_w, XML_instrText ); } @@ -912,15 +912,15 @@ void DocxAttributeOutput::CmdField_Impl( FieldInfos& rInfos ) for ( xub_StrLen i = 0; i < nNbToken; i++ ) { - String sToken = rInfos.sCmd.GetToken( i, '\t' ); + OUString sToken = rInfos.sCmd.GetToken( i, '\t' ); if ( rInfos.eType == ww::eCREATEDATE || rInfos.eType == ww::eSAVEDATE || rInfos.eType == ww::ePRINTDATE || rInfos.eType == ww::eDATE || rInfos.eType == ww::eTIME ) { - sToken.SearchAndReplaceAll( String( "NNNN" ), String( "dddd" ) ); - sToken.SearchAndReplaceAll( String( "NN" ), String( "ddd" ) ); + sToken = sToken.replaceAll("NNNN", "dddd"); + sToken = sToken.replaceAll("NN", "ddd"); } // Write the Field command DoWriteCmd( sToken ); @@ -963,10 +963,9 @@ void DocxAttributeOutput::EndField_Impl( FieldInfos& rInfos ) // Write the Field latest value m_pSerializer->startElementNS( XML_w, XML_r, FSEND ); - String sExpand( rInfos.pField->ExpandField( true ) ); + OUString sExpand( rInfos.pField->ExpandField( true ) ); // newlines embedded in fields are 0x0B in MSO and 0x0A for us - sExpand.SearchAndReplaceAll( 0x0A, 0x0B ); - RunText( sExpand ); + RunText(sExpand.replace(0x0A, 0x0B)); m_pSerializer->endElementNS( XML_w, XML_r ); } diff --git a/sw/source/filter/ww8/docxattributeoutput.hxx b/sw/source/filter/ww8/docxattributeoutput.hxx index 54d3c79..16f17b7 100644 --- a/sw/source/filter/ww8/docxattributeoutput.hxx +++ b/sw/source/filter/ww8/docxattributeoutput.hxx @@ -631,7 +631,7 @@ private: void WriteCommentRanges(); void StartField_Impl( FieldInfos& rInfos, bool bWriteRun = sal_False ); - void DoWriteCmd( String& rCmd ); + void DoWriteCmd( const OUString& rCmd ); void CmdField_Impl( FieldInfos& rInfos ); void EndField_Impl( FieldInfos& rInfos ); diff --git a/sw/source/filter/ww8/wrtw8nds.cxx b/sw/source/filter/ww8/wrtw8nds.cxx index 5fce527..a7d97a1 100644 --- a/sw/source/filter/ww8/wrtw8nds.cxx +++ b/sw/source/filter/ww8/wrtw8nds.cxx @@ -1397,16 +1397,16 @@ because word doesn't have the feature String SwWW8AttrIter::GetSnippet(const String &rStr, xub_StrLen nAktPos, xub_StrLen nLen) const { - String aSnippet(rStr, nAktPos, nLen); if (!nLen) - return aSnippet; + return OUString(); + OUString aSnippet(rStr.Copy(nAktPos, nLen)); // 0x0a ( Hard Line Break ) -> 0x0b // 0xad ( soft hyphen ) -> 0x1f // 0x2011 ( hard hyphen ) -> 0x1e - aSnippet.SearchAndReplaceAll(0x0A, 0x0B); - aSnippet.SearchAndReplaceAll(CHAR_HARDHYPHEN, 0x1e); - aSnippet.SearchAndReplaceAll(CHAR_SOFTHYPHEN, 0x1f); + aSnippet = aSnippet.replace(0x0A, 0x0B); + aSnippet = aSnippet.replace(CHAR_HARDHYPHEN, 0x1e); + aSnippet = aSnippet.replace(CHAR_SOFTHYPHEN, 0x1f); m_rExport.m_aCurrentCharPropStarts.push( nAktPos ); const SfxPoolItem &rItem = GetItem(RES_CHRATR_CASEMAP); @@ -1444,7 +1444,7 @@ String SwWW8AttrIter::GetSnippet(const String &rStr, xub_StrLen nAktPos, rStr, nAktPos, g_pBreakIt->GetLocale(nLanguage), i18n::WordType::ANYWORD_IGNOREWHITESPACES ) ) { - aSnippet.SetChar(0, rStr.GetChar(nAktPos)); + aSnippet = OUString(rStr.GetChar(nAktPos)) + aSnippet.copy(1); } } m_rExport.m_aCurrentCharPropStarts.pop(); diff --git a/sw/source/filter/ww8/wrtw8sty.cxx b/sw/source/filter/ww8/wrtw8sty.cxx index 969b2b3..cf954bf 100644 --- a/sw/source/filter/ww8/wrtw8sty.cxx +++ b/sw/source/filter/ww8/wrtw8sty.cxx @@ -2087,9 +2087,8 @@ bool WW8_WrPlcSubDoc::WriteGenericTxt( WW8Export& rWrt, sal_uInt8 nTTyp, rWrt.WriteOutliner(*rAtn.mpRichText, nTTyp); else { - String sTxt(rAtn.msSimpleText); - sTxt.SearchAndReplaceAll(0x0A, 0x0B); - rWrt.WriteStringAsPara( sTxt ); + OUString sTxt(rAtn.msSimpleText); + rWrt.WriteStringAsPara(sTxt.replace(0x0A, 0x0B)); } } break; diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx index dc3117a..2d2c48a 100644 --- a/sw/source/filter/ww8/ww8atr.cxx +++ b/sw/source/filter/ww8/ww8atr.cxx @@ -1734,12 +1734,10 @@ static void InsertSpecialChar( WW8Export& rWrt, sal_uInt8 c, static String lcl_GetExpandedField(const SwField &rFld) { - String sRet(rFld.ExpandField(true)); + OUString sRet(rFld.ExpandField(true)); //replace LF 0x0A with VT 0x0B - sRet.SearchAndReplaceAll(0x0A, 0x0B); - - return sRet; + return sRet.replace(0x0A, 0x0B); } WW8_WrPlcFld* WW8Export::CurrentFieldPlc() const @@ -2405,10 +2403,10 @@ OUString FieldString(ww::eField eIndex) void WW8AttributeOutput::HiddenField( const SwField& rFld ) { - String sExpand(rFld.GetPar2()); + OUString sExpand(rFld.GetPar2()); //replace LF 0x0A with VT 0x0B - sExpand.SearchAndReplaceAll(0x0A, 0x0B); + sExpand = sExpand.replace(0x0A, 0x0B); m_rWW8Export.pChpPlc->AppendFkpEntry(m_rWW8Export.Strm().Tell()); if (m_rWW8Export.IsUnicode()) { diff --git a/sw/source/ui/dbui/dbui.cxx b/sw/source/ui/dbui/dbui.cxx index 09b2357..f1b58e2 100644 --- a/sw/source/ui/dbui/dbui.cxx +++ b/sw/source/ui/dbui/dbui.cxx @@ -66,9 +66,9 @@ CreateMonitor::CreateMonitor( Window *pParent ) void CreateMonitor::UpdateCountingText() { - String sText(m_sCountingPattern); - sText.SearchAndReplaceAll( m_sVariable_Total, OUString::number( m_nTotalCount ) ); - sText.SearchAndReplaceAll( m_sVariable_Position, OUString::number( m_nCurrentPosition ) ); + OUString sText(m_sCountingPattern); + sText = sText.replaceAll( m_sVariable_Total, OUString::number( m_nTotalCount ) ); + sText = sText.replaceAll( m_sVariable_Position, OUString::number( m_nCurrentPosition ) ); m_aCounting.SetText(sText); } diff --git a/sw/source/ui/dbui/mmlayoutpage.cxx b/sw/source/ui/dbui/mmlayoutpage.cxx index 34fafc2..e213d70 100644 --- a/sw/source/ui/dbui/mmlayoutpage.cxx +++ b/sw/source/ui/dbui/mmlayoutpage.cxx @@ -319,8 +319,8 @@ SwFrmFmt* SwMailMergeLayoutPage::InsertAddressFrame( sDBName += DB_DELIM; sDBName += String(rData.sCommand); sDBName += DB_DELIM; - String sDatabaseConditionPrefix(sDBName); - sDatabaseConditionPrefix.SearchAndReplaceAll(DB_DELIM, '.'); + OUString sDatabaseConditionPrefix(sDBName); + sDatabaseConditionPrefix = sDatabaseConditionPrefix.replace(DB_DELIM, '.'); sDBName += OUString::number(rData.nCommandType); sDBName += DB_DELIM; diff --git a/sw/source/ui/misc/redlndlg.cxx b/sw/source/ui/misc/redlndlg.cxx index 870ca9ac..d4edaf0 100644 --- a/sw/source/ui/misc/redlndlg.cxx +++ b/sw/source/ui/misc/redlndlg.cxx @@ -438,9 +438,8 @@ void SwRedlineAcceptDlg::Activate() if (pParent->pTLBParent) { // update only comment - String sComment(rRedln.GetComment()); - sComment.SearchAndReplaceAll((sal_Unicode)'\n',(sal_Unicode)' '); - pTable->SetEntryText(sComment, pParent->pTLBParent, 3); + OUString sComment(rRedln.GetComment()); + pTable->SetEntryText(sComment.replace('\n', ' '), pParent->pTLBParent, 3); } pParent->sComment = rRedln.GetComment(); } @@ -725,9 +724,8 @@ void SwRedlineAcceptDlg::InsertParents(sal_uInt16 nStart, sal_uInt16 nEnd) pRedlineParent = new SwRedlineDataParent; pRedlineParent->pData = pRedlineData; pRedlineParent->pNext = 0; - String sComment(rRedln.GetComment()); - sComment.SearchAndReplaceAll((sal_Unicode)'\n',(sal_Unicode)' '); - pRedlineParent->sComment = sComment; + OUString sComment(rRedln.GetComment()); + pRedlineParent->sComment = sComment.replace('\n', ' '); aRedlineParents.insert(aRedlineParents.begin() + i, pRedlineParent); pData = new RedlinData; @@ -1113,12 +1111,11 @@ IMPL_LINK_NOARG(SwRedlineAcceptDlg, CommandHdl) if ( pDlg->Execute() == RET_OK ) { const SfxItemSet* pOutSet = pDlg->GetOutputItemSet(); - String sMsg(((const SvxPostItTextItem&)pOutSet->Get(SID_ATTR_POSTIT_TEXT)).GetValue()); + OUString sMsg(((const SvxPostItTextItem&)pOutSet->Get(SID_ATTR_POSTIT_TEXT)).GetValue()); // insert / change comment pSh->SetRedlineComment(sMsg); - sMsg.SearchAndReplaceAll((sal_Unicode)'\n',(sal_Unicode)' '); - pTable->SetEntryText(sMsg, pEntry, 3); + pTable->SetEntryText(sMsg.replace('\n', ' '), pEntry, 3); } delete pDlg; diff --git a/sw/source/ui/uiview/viewport.cxx b/sw/source/ui/uiview/viewport.cxx index 77ccf02..c137db6 100644 --- a/sw/source/ui/uiview/viewport.cxx +++ b/sw/source/ui/uiview/viewport.cxx @@ -695,15 +695,17 @@ IMPL_LINK( SwView, ScrollHdl, SwScrollbar *, pScrollbar ) aRect.Right() = aRect.Left(); aRect.Bottom() = aRect.Top(); - String sPageStr( GetPageStr( nPhNum, nVirtNum, sDisplay )); + OUString sPageStr( GetPageStr( nPhNum, nVirtNum, sDisplay )); SwContentAtPos aCnt( SwContentAtPos::SW_OUTLINE ); m_pWrtShell->GetContentAtPos( aPos, aCnt ); if( aCnt.sStr.Len() ) { sPageStr += OUString(" - "); - sPageStr.Insert( aCnt.sStr, 0, 80 ); - sPageStr.SearchAndReplaceAll( '\t', ' ' ); - sPageStr.SearchAndReplaceAll( 0x0a, ' ' ); + sal_Int32 nChunkLen = std::min<sal_Int32>(aCnt.sStr.Len(), 80); + OUString sChunk = aCnt.sStr.Copy(0, nChunkLen); + sPageStr = sChunk + sPageStr; + sPageStr = sPageStr.replace('\t', ' '); + sPageStr = sPageStr.replace(0x0a, ' '); } nPgNum = nPhNum; } diff --git a/tools/source/string/strimp.cxx b/tools/source/string/strimp.cxx index 3357c22..b86564a 100644 --- a/tools/source/string/strimp.cxx +++ b/tools/source/string/strimp.cxx @@ -428,23 +428,4 @@ xub_StrLen STRING::Search( const STRING& rStr, xub_StrLen nIndex ) const return STRING_NOTFOUND; } -void STRING::SearchAndReplaceAll( STRCODE c, STRCODE cRep ) -{ - DBG_CHKTHIS( STRING, DBGCHECKSTRING ); - - sal_Int32 nLen = mpData->mnLen; - const STRCODE* pStr = mpData->maStr; - sal_Int32 nIndex = 0; - while ( nIndex < nLen ) - { - if ( *pStr == c ) - { - ImplCopyData(); - mpData->maStr[nIndex] = cRep; - } - ++pStr, - ++nIndex; - } -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/tools/source/string/tustring.cxx b/tools/source/string/tustring.cxx index 5d1d7e4..9b10bde 100644 --- a/tools/source/string/tustring.cxx +++ b/tools/source/string/tustring.cxx @@ -235,21 +235,6 @@ xub_StrLen STRING::Match( const STRING& rStr ) const return STRING_MATCH; } -void STRING::SearchAndReplaceAll( const STRING& rStr, const STRING& rRepStr ) -{ - DBG_CHKTHIS( STRING, DBGCHECKSTRING ); - DBG_CHKOBJ( &rStr, STRING, DBGCHECKSTRING ); - DBG_CHKOBJ( &rRepStr, STRING, DBGCHECKSTRING ); - - xub_StrLen nSPos = Search( rStr, 0 ); - while ( nSPos != STRING_NOTFOUND ) - { - Replace( nSPos, rStr.Len(), rRepStr ); - nSPos = nSPos + rRepStr.Len(); - nSPos = Search( rStr, nSPos ); - } -} - void STRING::SetToken( xub_StrLen nToken, STRCODE cTok, const STRING& rStr, xub_StrLen nIndex ) { commit c811c0706f0ecf3400e8fcc510ca283dd593237f Author: Caolán McNamara <caol...@redhat.com> Date: Tue Oct 8 13:18:42 2013 +0100 make sure length is within bounds Change-Id: I86819211de809a57c240778a747ddad175137a9b diff --git a/sc/source/ui/drawfunc/drtxtob.cxx b/sc/source/ui/drawfunc/drtxtob.cxx index 581aafc..96513bc 100644 --- a/sc/source/ui/drawfunc/drtxtob.cxx +++ b/sc/source/ui/drawfunc/drtxtob.cxx @@ -404,7 +404,8 @@ void ScDrawTextObjectBar::GetState( SfxItemSet& rSet ) { // use selected text as name for urls OUString sReturn = pOutView->GetSelected(); - sReturn = sReturn.copy(0, 255); + sal_Int32 nLen = std::min<sal_Int32>(sReturn.getLength(), 255); + sReturn = sReturn.copy(0, nLen); aHLinkItem.SetName(comphelper::string::stripEnd(sReturn, ' ')); } }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits