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 /desktop | |
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 'desktop')
-rw-r--r-- | desktop/source/deployment/registry/configuration/dp_configuration.cxx | 2 | ||||
-rw-r--r-- | desktop/source/deployment/registry/dp_backend.cxx | 2 | ||||
-rw-r--r-- | desktop/source/lib/init.cxx | 14 | ||||
-rw-r--r-- | desktop/source/migration/migration.cxx | 2 |
4 files changed, 8 insertions, 12 deletions
diff --git a/desktop/source/deployment/registry/configuration/dp_configuration.cxx b/desktop/source/deployment/registry/configuration/dp_configuration.cxx index bc1405b7ae19..578e164f13b7 100644 --- a/desktop/source/deployment/registry/configuration/dp_configuration.cxx +++ b/desktop/source/deployment/registry/configuration/dp_configuration.cxx @@ -675,7 +675,7 @@ OUString replaceOrigin( { //get the file name of the xcu and add it to the url of the temporary folder sal_Int32 i = url.lastIndexOf('/'); - newUrl = destFolder + url.copy(i); + newUrl = destFolder + url.subView(i); } ucbhelper::Content(newUrl, xCmdEnv, xContext).writeStream( diff --git a/desktop/source/deployment/registry/dp_backend.cxx b/desktop/source/deployment/registry/dp_backend.cxx index 42bbc65cdb4c..7f4df142dfd1 100644 --- a/desktop/source/deployment/registry/dp_backend.cxx +++ b/desktop/source/deployment/registry/dp_backend.cxx @@ -216,7 +216,7 @@ OUString PackageRegistryBackend::createFolder( const OUString baseDir(sDataFolder); ::utl::TempFile aTemp(&baseDir, true); const OUString& url = aTemp.GetURL(); - return sDataFolder + url.copy(url.lastIndexOf('/')); + return sDataFolder + url.subView(url.lastIndexOf('/')); } //folderURL can have the extension .tmp or .tmp_ diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 8eacd7e270ce..9aec16e027cb 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -991,7 +991,7 @@ OUString desktop::extractParameter(OUString& rOptions, const OUString& rName) if (nComma >= 0) { aValue = rOptions.copy(nIndex + nLen, nComma - nIndex - nLen); - rOptions = rOptions.copy(0, nIndex) + rOptions.copy(nComma); + rOptions = OUString::Concat(rOptions.subView(0, nIndex)) + rOptions.subView(nComma); } else { @@ -2563,19 +2563,15 @@ static int doc_saveAs(LibreOfficeKitDocument* pThis, const char* sUrl, const cha if ((aIndex = aFilterOptions.indexOf(",Watermark=")) >= 0) { int bIndex = aFilterOptions.indexOf("WATERMARKEND"); - watermarkText = aFilterOptions.copy(aIndex+11, bIndex-(aIndex+11)); - - OUString temp = aFilterOptions.copy(0, aIndex); - aFilterOptions = temp + aFilterOptions.copy(bIndex+12); + watermarkText = aFilterOptions.subView(aIndex+11, bIndex-(aIndex+11)); + aFilterOptions = OUString::Concat(aFilterOptions.subView(0, aIndex)) + aFilterOptions.subView(bIndex+12); } if ((aIndex = aFilterOptions.indexOf(",FullSheetPreview=")) >= 0) { int bIndex = aFilterOptions.indexOf("FULLSHEETPREVEND"); - sFullSheetPreview = aFilterOptions.copy(aIndex+18, bIndex-(aIndex+18)); - - OUString temp = aFilterOptions.copy(0, aIndex); - aFilterOptions = temp + aFilterOptions.copy(bIndex+16); + sFullSheetPreview = aFilterOptions.subView(aIndex+18, bIndex-(aIndex+18)); + aFilterOptions = OUString::Concat(aFilterOptions.subView(0, aIndex)) + aFilterOptions.subView(bIndex+16); } bool bFullSheetPreview = sFullSheetPreview == "true"; diff --git a/desktop/source/migration/migration.cxx b/desktop/source/migration/migration.cxx index e351d455d4c5..ab22b4abdfe2 100644 --- a/desktop/source/migration/migration.cxx +++ b/desktop/source/migration/migration.cxx @@ -735,7 +735,7 @@ void MigrationImpl::copyFiles() // LANGUAGE_DONTKNOW with the "[All]" autocorrection entry. // As of LibreOffice 4.0 it is 'und' for LANGUAGE_UNDETERMINED // so the file name is "acor_und.dat". - localName = localName.copy( 0, localName.getLength() - 4) + "und.dat"; + localName = OUString::Concat(localName.subView( 0, localName.getLength() - 4)) + "und.dat"; } destName = userInstall + localName; INetURLObject aURL(destName); |