diff options
author | Noel <noelgrandin@gmail.com> | 2020-12-15 09:38:19 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-12-15 10:50:28 +0100 |
commit | a79e6a7cf1ce3be46e4339a54b013ddaa534dd39 (patch) | |
tree | 3de6cf2d804dfe0e929f999103fa1c2c01b9ec53 /sc | |
parent | 15e4427e8fb56a143caa28b8a3120f3761fc77a5 (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.cxx | 8 | ||||
-rw-r--r-- | sc/source/filter/xml/XMLChangeTrackingImportHelper.hxx | 2 | ||||
-rw-r--r-- | sc/source/filter/xml/XMLTableHeaderFooterContext.cxx | 2 | ||||
-rw-r--r-- | sc/source/filter/xml/XMLTableShapeImportHelper.cxx | 14 | ||||
-rw-r--r-- | sc/source/filter/xml/XMLTrackedChangesContext.cxx | 44 | ||||
-rw-r--r-- | sc/source/filter/xml/xmlannoi.cxx | 12 |
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); } } } |