summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2022-03-10 10:53:12 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2022-03-10 22:03:06 +0100
commit3ccc4c123f5e78e0204d11abeab2d1a74278ca3e (patch)
tree607d207f12480fd147723c7a0a244e88b2b3e8d0
parent05d4126637ad3af256b3048ec9dc7e08c2f1a0d6 (diff)
Use OUStringBuffer in ScConcat
Change-Id: Ic1ee6e1a1d13afd7d205cdfb9f76f5e29a176378 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131298 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
-rw-r--r--sc/source/core/tool/interpr1.cxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index db8b282500ba..d79962324754 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -9752,16 +9752,20 @@ void ScInterpreter::ScRept()
void ScInterpreter::ScConcat()
{
sal_uInt8 nParamCount = GetByte();
- OUString aRes;
+
+ //reverse order of parameter stack to simplify processing
+ ReverseStack(nParamCount);
+
+ OUStringBuffer aRes;
while( nParamCount-- > 0)
{
OUString aStr = GetString().getString();
if (CheckStringResultLen(aRes, aStr.getLength()))
- aRes = aStr + aRes;
+ aRes.append(aStr);
else
break;
}
- PushString( aRes );
+ PushString( aRes.makeStringAndClear() );
}
FormulaError ScInterpreter::GetErrorType()