diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2022-03-10 10:53:12 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2022-03-10 22:03:06 +0100 |
commit | 3ccc4c123f5e78e0204d11abeab2d1a74278ca3e (patch) | |
tree | 607d207f12480fd147723c7a0a244e88b2b3e8d0 | |
parent | 05d4126637ad3af256b3048ec9dc7e08c2f1a0d6 (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.cxx | 10 |
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() |