diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2021-10-01 09:09:45 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2021-10-11 14:22:22 +0200 |
commit | 4f5b3e4bd53d6d61df1f65f496f7bc8dc525c8a1 (patch) | |
tree | e0ac44b8f22f944f3303bac8e494da41d6c7b164 /starmath/source | |
parent | 5f84c44e3d5ff19b800b6358e61228546e318d4f (diff) |
In O[U]StringBuffer, make string_view params replacements for OUString ones
...for LIBO_INTERNAL_ONLY, instead of having them as additional overloads. That
way, loplugin:bufferadd and loplugin:stringviewparam found many further
opportunities for simplification (all addressed here). Some notes:
* There is no longer an implicit conversion from O[U]String to O[U]StringBuffer
(as that goes via user-defined conversions through string_view now), which was
most noticeable in copy initializations like
OStringBuffer buf = someStr;
that had to be changed to direct initialization,
OStringBuffer buf(someStr);
But then again, it wasn't too many places that were affected and I think we can
live with that.
* I made the O[U]StringBuffer ctors taking string_view non-explicit, mainly to
get them in line with their counterparts taking O[U]String.
* I added an OUStringBuffer::lastIndexOf string_view overload that was missing
(relative to OUStringBuffer::indexOf).
* loplugin:stringconstant needed some addition to keep the
compilerplugins/clang/test/stringconstant.cxx checks related to
OStringBuffer::append and OStringBuffer::insert working.
* loplugin:stringviewparam no longer needs the special O[U]StringBuffer-related
code that had been introduced in 1250aecd71fabde4dba990bfceb61bbe8e06b8ea
"loplugin:stringviewparam extend to new.."
Change-Id: Ib1bb8c4632d99b744e742605a9fef6eae959fd72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122904
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'starmath/source')
-rw-r--r-- | starmath/source/mathml/mathmlexport.cxx | 5 | ||||
-rw-r--r-- | starmath/source/parse5.cxx | 6 |
2 files changed, 3 insertions, 8 deletions
diff --git a/starmath/source/mathml/mathmlexport.cxx b/starmath/source/mathml/mathmlexport.cxx index dedd6532f8a5..0d7ba20396b8 100644 --- a/starmath/source/mathml/mathmlexport.cxx +++ b/starmath/source/mathml/mathmlexport.cxx @@ -1158,11 +1158,8 @@ void SmXMLExport::ExportFont(const SmNode* pNode, int nLevel) case TDVIPSNAMESCOL: case TICONICCOL: { - OUStringBuffer sStrBuf(7); - sStrBuf.append('#'); nc = pNode->GetToken().cMathChar.toUInt32(16); - sStrBuf.append(Color(ColorTransparency, nc).AsRGBHEXString()); - OUString ssStr(sStrBuf.makeStringAndClear()); + OUString ssStr("#" + Color(ColorTransparency, nc).AsRGBHEXString()); AddAttribute(XML_NAMESPACE_MATH, XML_MATHCOLOR, ssStr); } break; diff --git a/starmath/source/parse5.cxx b/starmath/source/parse5.cxx index d629fd36ddb1..2fc1395ebf8d 100644 --- a/starmath/source/parse5.cxx +++ b/starmath/source/parse5.cxx @@ -2662,13 +2662,11 @@ std::unique_ptr<SmExpressionNode> SmParser5::DoError(SmParseError eError) DepthProtect aDepthGuard(m_nParseDepth); // Identify error message - OUStringBuffer sStrBuf(128); - sStrBuf.append(SmResId(RID_ERR_IDENT)); - sStrBuf.append(starmathdatabase::getParseErrorDesc(eError)); + OUString sStrBuf(SmResId(RID_ERR_IDENT) + starmathdatabase::getParseErrorDesc(eError)); // Generate error node m_aCurToken.eType = TERROR; - m_aCurToken.cMathChar = sStrBuf.makeStringAndClear(); + m_aCurToken.cMathChar = sStrBuf; auto xSNode = std::make_unique<SmExpressionNode>(m_aCurToken); SmErrorNode* pErr(new SmErrorNode(m_aCurToken)); pErr->SetSelection(m_aCurESelection); |