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 /l10ntools/source | |
parent | make sure mpAlphaVDev is drawn when drawing lines (tdf#137974) (diff) | |
download | core-93c64a61f2c84e684050294a1391cd32425b7837.tar.gz core-93c64a61f2c84e684050294a1391cd32425b7837.zip |
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 'l10ntools/source')
-rw-r--r-- | l10ntools/source/helpex.cxx | 2 | ||||
-rw-r--r-- | l10ntools/source/helpmerge.cxx | 2 | ||||
-rw-r--r-- | l10ntools/source/localize.cxx | 2 | ||||
-rw-r--r-- | l10ntools/source/po.cxx | 2 | ||||
-rw-r--r-- | l10ntools/source/treemerge.cxx | 8 | ||||
-rw-r--r-- | l10ntools/source/xrmmerge.cxx | 2 |
6 files changed, 9 insertions, 9 deletions
diff --git a/l10ntools/source/helpex.cxx b/l10ntools/source/helpex.cxx index 3bfacb823025..b5f622b5c6ea 100644 --- a/l10ntools/source/helpex.cxx +++ b/l10ntools/source/helpex.cxx @@ -93,7 +93,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) HelpParser aParser( sXhpFile ); const OString sOutput( aArgs.m_sOutputFile + - sXhpFile.copy( sXhpFile.lastIndexOf('/') )); + sXhpFile.subView( sXhpFile.lastIndexOf('/') )); if( !aParser.Merge( sOutput, aArgs.m_sLanguage, pMergeDataFile.get() )) { diff --git a/l10ntools/source/helpmerge.cxx b/l10ntools/source/helpmerge.cxx index 10a9de923175..c4643ea4fac4 100644 --- a/l10ntools/source/helpmerge.cxx +++ b/l10ntools/source/helpmerge.cxx @@ -233,7 +233,7 @@ void HelpParser::ProcessHelp( LangHashMap* aLangHM , const OString& sCur , ResDa pEntrys->GetText( sNewText, sCur, true ); if (helper::isWellFormedXML(XMLUtil::QuotHTML(sNewText))) { - sNewdata = sSourceText.copy(0,nPreSpaces) + sNewText; + sNewdata = sSourceText.subView(0,nPreSpaces) + sNewText; } } } diff --git a/l10ntools/source/localize.cxx b/l10ntools/source/localize.cxx index e069ba6f5a5c..402403a8e5ea 100644 --- a/l10ntools/source/localize.cxx +++ b/l10ntools/source/localize.cxx @@ -381,7 +381,7 @@ void handleDirectory( if (aProject == "include" && nLevel > 1) { aProject = aPotDir.copy(aPotDir.lastIndexOf('/') + 1); - aPotDir = aPotDir.copy(0, aPotDir.lastIndexOf("include")) + aProject + "/messages"; + aPotDir = aPotDir.subView(0, aPotDir.lastIndexOf("include")) + aProject + "/messages"; } if (aProject != "include") { diff --git a/l10ntools/source/po.cxx b/l10ntools/source/po.cxx index 4df1e1782d63..3d001f28e3f4 100644 --- a/l10ntools/source/po.cxx +++ b/l10ntools/source/po.cxx @@ -219,7 +219,7 @@ void GenPoEntry::readFromFile(std::ifstream& rIFStream) { // assume there are no more than 10 plural forms... // and that plural strings are never split to multi-line in po - m_sMsgStrPlural.push_back(sLine.copy(0,10) + lcl_GenNormString(sLine.copy(10))); + m_sMsgStrPlural.push_back(sLine.subView(0,10) + lcl_GenNormString(sLine.copy(10))); } else if (sLine.startsWith("\"") && pLastMsg) { diff --git a/l10ntools/source/treemerge.cxx b/l10ntools/source/treemerge.cxx index 933edb79fad1..2920734eea4d 100644 --- a/l10ntools/source/treemerge.cxx +++ b/l10ntools/source/treemerge.cxx @@ -72,9 +72,9 @@ namespace // Update id attribute of topic { OString sNewID = - sID.copy( 0, nFirstSlash + 1 ) + - rXhpRoot.copy( rXhpRoot.lastIndexOf('/') + 1 ) + - sID.copy( sID.indexOf( '/', nFirstSlash + 1 ) ); + OString::Concat(sID.subView( 0, nFirstSlash + 1 )) + + rXhpRoot.subView( rXhpRoot.lastIndexOf('/') + 1 ) + + sID.subView( sID.indexOf( '/', nFirstSlash + 1 ) ); xmlSetProp( pReturn, reinterpret_cast<const xmlChar*>("id"), reinterpret_cast<const xmlChar*>(sNewID.getStr())); @@ -82,7 +82,7 @@ namespace const OString sXhpPath = rXhpRoot + - sID.copy(sID.indexOf('/', nFirstSlash + 1)); + sID.subView(sID.indexOf('/', nFirstSlash + 1)); xmlDocPtr pXhpFile = xmlParseFile( sXhpPath.getStr() ); // if xhpfile is missing than put this topic into comment if ( !pXhpFile ) diff --git a/l10ntools/source/xrmmerge.cxx b/l10ntools/source/xrmmerge.cxx index b77e0138edb1..62734f04ddd9 100644 --- a/l10ntools/source/xrmmerge.cxx +++ b/l10ntools/source/xrmmerge.cxx @@ -422,7 +422,7 @@ void XRMResMerge::WorkOnDesc( throw false; //TODO } OString sOutputDescFile( - sOutputFile.copy(0, i + 1) + sLocDescFilename); + sOutputFile.subView(0, i + 1) + sLocDescFilename); ofstream file(sOutputDescFile.getStr()); if (file.is_open()) { file << sText; |