summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorNoel <noelgrandin@gmail.com>2020-12-15 09:38:19 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-12-15 10:50:28 +0100
commita79e6a7cf1ce3be46e4339a54b013ddaa534dd39 (patch)
tree3de6cf2d804dfe0e929f999103fa1c2c01b9ec53 /sc
parent15e4427e8fb56a143caa28b8a3120f3761fc77a5 (diff)
use views to parse rather than allocating OUString
Change-Id: If0a848c64ce8077d1681661873629c83307cf8b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107736 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx8
-rw-r--r--sc/source/filter/xml/XMLChangeTrackingImportHelper.hxx2
-rw-r--r--sc/source/filter/xml/XMLTableHeaderFooterContext.cxx2
-rw-r--r--sc/source/filter/xml/XMLTableShapeImportHelper.cxx14
-rw-r--r--sc/source/filter/xml/XMLTrackedChangesContext.cxx44
-rw-r--r--sc/source/filter/xml/xmlannoi.cxx12
6 files changed, 37 insertions, 45 deletions
diff --git a/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx b/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
index d2d00b35df44..80bf77187c0a 100644
--- a/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
+++ b/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
@@ -193,15 +193,15 @@ void ScXMLChangeTrackingImportHelper::StartChangeAction(const ScChangeActionType
}
}
-sal_uInt32 ScXMLChangeTrackingImportHelper::GetIDFromString(const OUString& sID)
+sal_uInt32 ScXMLChangeTrackingImportHelper::GetIDFromString(std::string_view sID)
{
sal_uInt32 nResult(0);
- if (!sID.isEmpty())
+ if (!sID.empty())
{
- if (sID.startsWith(SC_CHANGE_ID_PREFIX))
+ if (sID.substr(0, strlen(SC_CHANGE_ID_PREFIX)) == SC_CHANGE_ID_PREFIX)
{
sal_Int32 nValue;
- ::sax::Converter::convertNumber(nValue, std::u16string_view(sID).substr(strlen(SC_CHANGE_ID_PREFIX)));
+ ::sax::Converter::convertNumber(nValue, sID.substr(strlen(SC_CHANGE_ID_PREFIX)));
OSL_ENSURE(nValue > 0, "wrong change action ID");
nResult = nValue;
}
diff --git a/sc/source/filter/xml/XMLChangeTrackingImportHelper.hxx b/sc/source/filter/xml/XMLChangeTrackingImportHelper.hxx
index 4c318df17919..36529dfa47b0 100644
--- a/sc/source/filter/xml/XMLChangeTrackingImportHelper.hxx
+++ b/sc/source/filter/xml/XMLChangeTrackingImportHelper.hxx
@@ -187,7 +187,7 @@ public:
void SetProtection(const css::uno::Sequence<sal_Int8>& rProtect) { aProtect = rProtect; }
void StartChangeAction(const ScChangeActionType nActionType);
- static sal_uInt32 GetIDFromString(const OUString& sID);
+ static sal_uInt32 GetIDFromString(std::string_view sID);
void SetActionNumber(const sal_uInt32 nActionNumber) { pCurrentAction->nActionNumber = nActionNumber; }
void SetActionState(const ScChangeActionState nActionState) { pCurrentAction->nActionState = nActionState; }
diff --git a/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx b/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx
index 3d2fc8c9ec72..62d3a217bbce 100644
--- a/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx
+++ b/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx
@@ -56,7 +56,7 @@ XMLTableHeaderFooterContext::XMLTableHeaderFooterContext( SvXMLImport& rImport,
for( auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ) )
{
if( aIter.getToken() == XML_ELEMENT(STYLE, XML_DISPLAY) )
- bDisplay = IsXMLToken(aIter.toString(), XML_TRUE);
+ bDisplay = IsXMLToken(aIter, XML_TRUE);
else
XMLOFF_WARN_UNKNOWN("sc", aIter);
}
diff --git a/sc/source/filter/xml/XMLTableShapeImportHelper.cxx b/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
index 443f23d611d2..966204506256 100644
--- a/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
+++ b/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
@@ -97,8 +97,6 @@ void XMLTableShapeImportHelper::finishShape(
SdrLayerID nLayerID = SDRLAYER_NOTFOUND;
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- const OUString sValue = aIter.toString();
-
switch(aIter.getToken())
{
case XML_ELEMENT(TABLE, XML_END_CELL_ADDRESS):
@@ -106,7 +104,7 @@ void XMLTableShapeImportHelper::finishShape(
sal_Int32 nOffset(0);
ScDocument* pDoc = static_cast<ScXMLImport&>(mrImporter).GetDocument();
assert(pDoc);
- ScRangeStringConverter::GetAddressFromString(aAnchor.maEnd, sValue, *pDoc, ::formula::FormulaGrammar::CONV_OOO, nOffset);
+ ScRangeStringConverter::GetAddressFromString(aAnchor.maEnd, aIter.toString(), *pDoc, ::formula::FormulaGrammar::CONV_OOO, nOffset);
// When the cell end address is set, we let the shape resize with the cell
aAnchor.mbResizeWithCell = true;
break;
@@ -115,7 +113,7 @@ void XMLTableShapeImportHelper::finishShape(
{
static_cast<ScXMLImport&>(mrImporter).
GetMM100UnitConverter().convertMeasureToCore(
- nEndX, sValue);
+ nEndX, aIter.toView());
aAnchor.maEndOffset.setX( nEndX );
break;
}
@@ -123,16 +121,16 @@ void XMLTableShapeImportHelper::finishShape(
{
static_cast<ScXMLImport&>(mrImporter).
GetMM100UnitConverter().convertMeasureToCore(
- nEndY, sValue);
+ nEndY, aIter.toView());
aAnchor.maEndOffset.setY( nEndY );
break;
}
case XML_ELEMENT(TABLE, XML_TABLE_BACKGROUND):
- if (IsXMLToken(sValue, XML_TRUE))
+ if (IsXMLToken(aIter, XML_TRUE))
nLayerID = SC_LAYER_BACK;
break;
case XML_ELEMENT(DRAW, XML_NOTIFY_ON_UPDATE_OF_RANGES):
- xRangeList = sValue;
+ xRangeList = aIter.toString();
break;
default: ;
}
@@ -216,7 +214,7 @@ void XMLTableShapeImportHelper::finishShape(
{
if (aIter.getToken() == XML_ELEMENT(TABLE, XML_TABLE_BACKGROUND))
{
- if (IsXMLToken(aIter.toString(), XML_TRUE))
+ if (IsXMLToken(aIter, XML_TRUE))
nLayerID = SC_LAYER_BACK;
break;
}
diff --git a/sc/source/filter/xml/XMLTrackedChangesContext.cxx b/sc/source/filter/xml/XMLTrackedChangesContext.cxx
index d8292c5feecd..3f8870ea32c2 100644
--- a/sc/source/filter/xml/XMLTrackedChangesContext.cxx
+++ b/sc/source/filter/xml/XMLTrackedChangesContext.cxx
@@ -522,7 +522,7 @@ ScXMLCellContentDeletionContext::ScXMLCellContentDeletionContext( ScXMLImport&
{
auto aIter( rAttrList->find( XML_ELEMENT( TABLE, XML_ID ) ) );
if (aIter != rAttrList->end())
- nID = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nID = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
}
}
@@ -568,7 +568,7 @@ ScXMLDependenceContext::ScXMLDependenceContext( ScXMLImport& rImport,
{
auto aIter( rAttrList->find( XML_ELEMENT( TABLE, XML_ID ) ) );
if (aIter != rAttrList->end())
- nID = ScXMLChangeTrackingImportHelper::GetIDFromString(aIter.toString());
+ nID = ScXMLChangeTrackingImportHelper::GetIDFromString(aIter.toView());
}
pChangeTrackingImportHelper->AddDependence(nID);
}
@@ -608,7 +608,7 @@ ScXMLChangeDeletionContext::ScXMLChangeDeletionContext( ScXMLImport& rImport,
{
auto aIter( rAttrList->find( XML_ELEMENT( TABLE, XML_ID ) ) );
if (aIter != rAttrList->end())
- nID = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nID = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
}
pChangeTrackingImportHelper->AddDeleted(nID);
}
@@ -907,7 +907,7 @@ ScXMLPreviousContext::ScXMLPreviousContext( ScXMLImport& rImport,
{
auto aIter( rAttrList->find( XML_ELEMENT( TABLE, XML_ID ) ) );
if (aIter != rAttrList->end())
- nID = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nID = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
}
}
@@ -948,7 +948,7 @@ ScXMLContentChangeContext::ScXMLContentChangeContext( ScXMLImport& rImport,
switch (aIter.getToken())
{
case XML_ELEMENT( TABLE, XML_ID ):
- nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_ACCEPTANCE_STATE ):
if (IsXMLToken( aIter, XML_ACCEPTED ))
@@ -957,7 +957,7 @@ ScXMLContentChangeContext::ScXMLContentChangeContext( ScXMLImport& rImport,
nActionState = SC_CAS_REJECTED;
break;
case XML_ELEMENT( TABLE, XML_REJECTING_CHANGE_ID ):
- nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
}
}
}
@@ -1024,7 +1024,7 @@ ScXMLInsertionContext::ScXMLInsertionContext( ScXMLImport& rImport,
switch (aIter.getToken())
{
case XML_ELEMENT( TABLE, XML_ID ):
- nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_ACCEPTANCE_STATE ):
if (IsXMLToken( aIter, XML_ACCEPTED ))
@@ -1033,7 +1033,7 @@ ScXMLInsertionContext::ScXMLInsertionContext( ScXMLImport& rImport,
nActionState = SC_CAS_REJECTED;
break;
case XML_ELEMENT( TABLE, XML_REJECTING_CHANGE_ID ):
- nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_TYPE ):
if (IsXMLToken( aIter, XML_ROW ))
@@ -1098,15 +1098,13 @@ ScXMLInsertionCutOffContext::ScXMLInsertionCutOffContext( ScXMLImport& rImport,
sal_Int32 nPosition(0);
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- const OUString sValue = aIter.toString();
-
switch (aIter.getToken())
{
case XML_ELEMENT(TABLE, XML_ID):
- nID = ScXMLChangeTrackingImportHelper::GetIDFromString(sValue);
+ nID = ScXMLChangeTrackingImportHelper::GetIDFromString(aIter.toView());
break;
case XML_ELEMENT(TABLE, XML_POSITION):
- ::sax::Converter::convertNumber(nPosition, sValue);
+ ::sax::Converter::convertNumber(nPosition, aIter.toView());
break;
}
}
@@ -1126,22 +1124,20 @@ ScXMLMovementCutOffContext::ScXMLMovementCutOffContext( ScXMLImport& rImport,
bool bPosition(false);
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- const OUString sValue = aIter.toString();
-
switch (aIter.getToken())
{
case XML_ELEMENT(TABLE, XML_ID):
- nID = ScXMLChangeTrackingImportHelper::GetIDFromString(sValue);
+ nID = ScXMLChangeTrackingImportHelper::GetIDFromString(aIter.toView());
break;
case XML_ELEMENT(TABLE, XML_POSITION):
bPosition = true;
- ::sax::Converter::convertNumber(nPosition, sValue);
+ ::sax::Converter::convertNumber(nPosition, aIter.toView());
break;
case XML_ELEMENT(TABLE, XML_START_POSITION):
- ::sax::Converter::convertNumber(nStartPosition, sValue);
+ ::sax::Converter::convertNumber(nStartPosition, aIter.toView());
break;
case XML_ELEMENT(TABLE, XML_END_POSITION):
- ::sax::Converter::convertNumber(nEndPosition, sValue);
+ ::sax::Converter::convertNumber(nEndPosition, aIter.toView());
break;
}
}
@@ -1193,7 +1189,7 @@ ScXMLDeletionContext::ScXMLDeletionContext( ScXMLImport& rImport,
switch (nToken)
{
case XML_ELEMENT( TABLE, XML_ID ):
- nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_ACCEPTANCE_STATE ):
if (IsXMLToken( aIter, XML_ACCEPTED ))
@@ -1202,7 +1198,7 @@ ScXMLDeletionContext::ScXMLDeletionContext( ScXMLImport& rImport,
nActionState = SC_CAS_REJECTED;
break;
case XML_ELEMENT( TABLE, XML_REJECTING_CHANGE_ID ):
- nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_TYPE ):
if (IsXMLToken( aIter, XML_ROW ))
@@ -1279,7 +1275,7 @@ ScXMLMovementContext::ScXMLMovementContext( ScXMLImport& rImport,
switch (aIter.getToken())
{
case XML_ELEMENT( TABLE, XML_ID ):
- nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_ACCEPTANCE_STATE ):
if (IsXMLToken( aIter, XML_ACCEPTED ))
@@ -1288,7 +1284,7 @@ ScXMLMovementContext::ScXMLMovementContext( ScXMLImport& rImport,
nActionState = SC_CAS_REJECTED;
break;
case XML_ELEMENT( TABLE, XML_REJECTING_CHANGE_ID ):
- nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
}
}
@@ -1352,7 +1348,7 @@ ScXMLRejectionContext::ScXMLRejectionContext( ScXMLImport& rImport,
switch (aIter.getToken())
{
case XML_ELEMENT( TABLE, XML_ID ):
- nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_ACCEPTANCE_STATE ):
if (IsXMLToken( aIter, XML_ACCEPTED ))
@@ -1361,7 +1357,7 @@ ScXMLRejectionContext::ScXMLRejectionContext( ScXMLImport& rImport,
nActionState = SC_CAS_REJECTED;
break;
case XML_ELEMENT( TABLE, XML_REJECTING_CHANGE_ID ):
- nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
}
}
diff --git a/sc/source/filter/xml/xmlannoi.cxx b/sc/source/filter/xml/xmlannoi.cxx
index 143d60a414c1..5ce2980fbeaf 100644
--- a/sc/source/filter/xml/xmlannoi.cxx
+++ b/sc/source/filter/xml/xmlannoi.cxx
@@ -58,28 +58,26 @@ ScXMLAnnotationContext::ScXMLAnnotationContext( ScXMLImport& rImport,
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- const OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(OFFICE, XML_AUTHOR):
{
- maAuthorBuffer = sValue;
+ maAuthorBuffer = aIter.toString();
}
break;
case XML_ELEMENT(OFFICE, XML_CREATE_DATE):
{
- maCreateDateBuffer = sValue;
+ maCreateDateBuffer = aIter.toString();
}
break;
case XML_ELEMENT(OFFICE, XML_CREATE_DATE_STRING):
{
- maCreateDateStringBuffer = sValue;
+ maCreateDateStringBuffer = aIter.toString();
}
break;
case XML_ELEMENT(OFFICE, XML_DISPLAY):
{
- mrAnnotationData.mbShown = IsXMLToken(sValue, XML_TRUE);
+ mrAnnotationData.mbShown = IsXMLToken(aIter, XML_TRUE);
}
break;
case XML_ELEMENT(SVG, XML_X):
@@ -95,7 +93,7 @@ ScXMLAnnotationContext::ScXMLAnnotationContext( ScXMLImport& rImport,
}
break;
default:
- SAL_WARN("xmloff", "unknown attribute " << SvXMLImport::getPrefixAndNameFromToken(aIter.getToken()) << "=" << aIter.toString());
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
}
}