sc/source/core/tool/compiler.cxx | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)
New commits: commit ef334d5acafd918437fbc5d0555a5e161059feb1 Author: Michael Meeks <michael.me...@collabora.com> Date: Mon May 26 13:31:12 2014 +0100 ODS load/save perf: re-use buffer while exporting tab names. Allocating temporary strings just to append a '.' is a tad silly. Change-Id: Ifdbd45bcc4d5e36ebee2b052f64ceeed5686d6cf diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx index 0af9ad3..304767a 100644 --- a/sc/source/core/tool/compiler.cxx +++ b/sc/source/core/tool/compiler.cxx @@ -731,15 +731,13 @@ struct ConventionOOO_A1 : public Convention_A1 ConventionOOO_A1() : Convention_A1 (FormulaGrammar::CONV_OOO) { } ConventionOOO_A1( FormulaGrammar::AddressConvention eConv ) : Convention_A1 (eConv) { } - static OUString MakeTabStr( const std::vector<OUString>& rTabNames, SCTAB nTab ) + static void MakeTabStr( OUStringBuffer &rBuf, const std::vector<OUString>& rTabNames, SCTAB nTab ) { - OUString aString; if (static_cast<size_t>(nTab) >= rTabNames.size()) - aString = ScGlobal::GetRscString(STR_NO_REF_TABLE); + rBuf.append(ScGlobal::GetRscString(STR_NO_REF_TABLE)); else - aString = rTabNames[nTab]; - aString += "."; - return aString; + rBuf.append(rTabNames[nTab]); + rBuf.append('.'); } void MakeOneRefStrImpl( @@ -759,10 +757,9 @@ struct ConventionOOO_A1 : public Convention_A1 } else { - OUString aRefStr(MakeTabStr(rTabNames, rAbsRef.Tab())); if (!rRef.IsTabRel()) rBuffer.append('$'); - rBuffer.append(aRefStr); + MakeTabStr(rBuffer, rTabNames, rAbsRef.Tab()); } } else if (bODF) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits