diff options
author | Noel <noelgrandin@gmail.com> | 2020-11-06 20:01:50 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-11-11 11:58:37 +0100 |
commit | 93c64a61f2c84e684050294a1391cd32425b7837 (patch) | |
tree | 00aad2cb8f3ee29ba4ac99e159e26fb8d71d2f33 /oox | |
parent | 1fde62018c8d3344a3408c7b6317120aefc778fb (diff) |
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 <noel.grandin@collabora.co.uk>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/core/filterbase.cxx | 4 | ||||
-rw-r--r-- | oox/source/core/xmlfilterbase.cxx | 2 | ||||
-rw-r--r-- | oox/source/dump/dumperbase.cxx | 2 | ||||
-rw-r--r-- | oox/source/export/drawingml.cxx | 2 |
4 files changed, 5 insertions, 5 deletions
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<FragmentHandler>& 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<uno::Sequence<uno::Any>>& 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; |