From 93c64a61f2c84e684050294a1391cd32425b7837 Mon Sep 17 00:00:00 2001 From: Noel Date: Fri, 6 Nov 2020 20:01:50 +0200 Subject: loplugin:stringview Add new methods "subView" to O(U)String to return substring views of the underlying data. Add a clang plugin to warn when replacing existing calls to copy() would be better to use subView(). Change-Id: I03a5732431ce60808946f2ce2c923b22845689ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105420 Tested-by: Jenkins Reviewed-by: Noel Grandin --- oox/source/core/filterbase.cxx | 4 ++-- oox/source/core/xmlfilterbase.cxx | 2 +- oox/source/dump/dumperbase.cxx | 2 +- oox/source/export/drawingml.cxx | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) (limited to 'oox') diff --git a/oox/source/core/filterbase.cxx b/oox/source/core/filterbase.cxx index cabd522b962d..3e90a66158db 100644 --- a/oox/source/core/filterbase.cxx +++ b/oox/source/core/filterbase.cxx @@ -293,7 +293,7 @@ OUString FilterBase::getAbsoluteUrl( const OUString& rUrl ) const aUrl.match( aFilePrefix ) && aUrl.match( aUncPrefix, nFilePrefixLen ) ) { - return aFileSchema + aUrl.copy( nFilePrefixLen ); + return aFileSchema + aUrl.subView( nFilePrefixLen ); } /* (5) handle URLs relative to current drive, e.g. the URL '/path1/file1' @@ -303,7 +303,7 @@ OUString FilterBase::getAbsoluteUrl( const OUString& rUrl ) const mxImpl->maFileUrl.match( aFilePrefix ) && lclIsDosDrive( mxImpl->maFileUrl, nFilePrefixLen ) ) { - return mxImpl->maFileUrl.copy( 0, nFilePrefixLen + 3 ) + aUrl.copy( 1 ); + return OUString::Concat(mxImpl->maFileUrl.subView( 0, nFilePrefixLen + 3 )) + aUrl.subView( 1 ); } try diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx index 1eb6fddaf1b6..566e1c4a2909 100644 --- a/oox/source/core/xmlfilterbase.cxx +++ b/oox/source/core/xmlfilterbase.cxx @@ -392,7 +392,7 @@ bool XmlFilterBase::importFragment( const rtl::Reference& rxHan OUString sLowerCaseFileName = fileName.toAsciiLowerCase(); if ( fileName != sLowerCaseFileName ) { - aFragmentPath = aFragmentPath.copy(0, nPathLen) + sLowerCaseFileName; + aFragmentPath = aFragmentPath.subView(0, nPathLen) + sLowerCaseFileName; xInStrm = openInputStream(aFragmentPath); } } diff --git a/oox/source/dump/dumperbase.cxx b/oox/source/dump/dumperbase.cxx index aac2af5ff1eb..d553dd092ff7 100644 --- a/oox/source/dump/dumperbase.cxx +++ b/oox/source/dump/dumperbase.cxx @@ -2380,7 +2380,7 @@ void XmlStreamObject::implDumpText( TextInputStream& rTextStrm ) { while( (nPos < aElem.getLength()) && (aElem[ nPos ] >= 32) ) ++nPos; if( nPos < aElem.getLength() ) - aElem = aElem.copy( 0, nPos ) + OUStringChar(' ') + aElem.copy( nPos ).trim(); + aElem = aElem.subView( 0, nPos ) + OUStringChar(' ') + aElem.copy( nPos ).trim(); ++nPos; } diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index d8615d79300e..8a8a8b83fb35 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -4863,7 +4863,7 @@ void DrawingML::writeDiagramRels(const uno::Sequence>& x if (sExtension.equalsIgnoreAsciiCase(".WMF")) sContentType = "image/x-wmf"; else - sContentType = "image/" + sExtension.copy(1); + sContentType = OUString::Concat("image/") + sExtension.subView(1); sRelId = sRelId.copy(3); StreamDataSequence dataSeq; -- cgit