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 --- vcl/source/outdev/text.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'vcl/source/outdev') diff --git a/vcl/source/outdev/text.cxx b/vcl/source/outdev/text.cxx index 0057fb4a2a14..adfcefbcd316 100644 --- a/vcl/source/outdev/text.cxx +++ b/vcl/source/outdev/text.cxx @@ -859,7 +859,7 @@ void OutputDevice::DrawText( const Point& rStartPt, const OUString& rStr, { GetGlyphBoundRects( rStartPt, rStr, nIndex, nLen, *pVector ); if( pDisplayText ) - *pDisplayText += rStr.copy( nIndex, nLen ); + *pDisplayText += rStr.subView( nIndex, nLen ); } } @@ -2025,7 +2025,7 @@ OUString OutputDevice::ImplGetEllipsisString( const OutputDevice& rTargetDevice, { if ( nFirstContent > 4 ) nFirstContent = 4; - OUString aFirstStr = aStr.copy( 0, nFirstContent ) + "..."; + OUString aFirstStr = OUString::Concat(aStr.subView( 0, nFirstContent )) + "..."; OUString aTempStr = aFirstStr + aLastStr; if ( _rLayout.GetTextWidth( aTempStr, 0, aTempStr.getLength() ) > nMaxWidth ) aStr = OutputDevice::ImplGetEllipsisString( rTargetDevice, aStr, nMaxWidth, nStyle | DrawTextFlags::EndEllipsis, _rLayout ); -- cgit v1.2.3