Kaydet (Commit) ef334d5a authored tarafından Michael Meeks's avatar Michael Meeks

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
üst ac1f7774
...@@ -731,15 +731,13 @@ struct ConventionOOO_A1 : public Convention_A1 ...@@ -731,15 +731,13 @@ struct ConventionOOO_A1 : public Convention_A1
ConventionOOO_A1() : Convention_A1 (FormulaGrammar::CONV_OOO) { } ConventionOOO_A1() : Convention_A1 (FormulaGrammar::CONV_OOO) { }
ConventionOOO_A1( FormulaGrammar::AddressConvention eConv ) : Convention_A1 (eConv) { } 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()) if (static_cast<size_t>(nTab) >= rTabNames.size())
aString = ScGlobal::GetRscString(STR_NO_REF_TABLE); rBuf.append(ScGlobal::GetRscString(STR_NO_REF_TABLE));
else else
aString = rTabNames[nTab]; rBuf.append(rTabNames[nTab]);
aString += "."; rBuf.append('.');
return aString;
} }
void MakeOneRefStrImpl( void MakeOneRefStrImpl(
...@@ -759,10 +757,9 @@ struct ConventionOOO_A1 : public Convention_A1 ...@@ -759,10 +757,9 @@ struct ConventionOOO_A1 : public Convention_A1
} }
else else
{ {
OUString aRefStr(MakeTabStr(rTabNames, rAbsRef.Tab()));
if (!rRef.IsTabRel()) if (!rRef.IsTabRel())
rBuffer.append('$'); rBuffer.append('$');
rBuffer.append(aRefStr); MakeTabStr(rBuffer, rTabNames, rAbsRef.Tab());
} }
} }
else if (bODF) else if (bODF)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment