summaryrefslogtreecommitdiff
path: root/sax
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-06-01 10:50:49 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2017-06-01 15:42:43 +0200
commitd43fc40718217d89cc95cc3c0bc0b8e7926abcc0 (patch)
tree45d7dc455932e4eef2d71f92ab7485bc537dfc8d /sax
parent5ecb3f4625188d02e85a3daef76ccf7f26b33a61 (diff)
convert SAX_ARGS_ARG macros to varargs template methods
Leave the macros in place for now, because there is still more of this stuff in sc/../xestream.hxx Change-Id: I633e12ee572010823e0a223b529a07b00e707b78 Reviewed-on: https://gerrit.libreoffice.org/38295 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'sax')
-rw-r--r--sax/source/tools/fshelper.cxx45
1 files changed, 11 insertions, 34 deletions
diff --git a/sax/source/tools/fshelper.cxx b/sax/source/tools/fshelper.cxx
index 9456743d80bc..1229a8689c29 100644
--- a/sax/source/tools/fshelper.cxx
+++ b/sax/source/tools/fshelper.cxx
@@ -40,44 +40,21 @@ FastSerializerHelper::~FastSerializerHelper()
delete mpSerializer;
}
-void FastSerializerHelper::startElementInternal(sal_Int32 elementTokenId, ...)
-{
- va_list args;
- va_start( args, elementTokenId );
- TokenValueList& rAttrList = mpSerializer->getTokenValueList();
-
- while (true)
- {
- sal_Int32 nName = va_arg(args, sal_Int32);
- if (nName == FSEND_internal)
- break;
- const char* pValue = va_arg(args, const char*);
- if (pValue)
- rAttrList.push_back(TokenValue(nName, pValue));
- }
-
+void FastSerializerHelper::startElement(sal_Int32 elementTokenId, FSEND_t)
+{
mpSerializer->startFastElement(elementTokenId);
- va_end( args );
}
-
-void FastSerializerHelper::singleElementInternal(sal_Int32 elementTokenId, ...)
+void FastSerializerHelper::pushAttributeValue(sal_Int32 attribute, const char* value)
+{
+ mpSerializer->getTokenValueList().push_back(TokenValue(attribute, value));
+}
+void FastSerializerHelper::pushAttributeValue(sal_Int32 attribute, const OString& value)
+{
+ mpSerializer->getTokenValueList().push_back(TokenValue(attribute, value.getStr()));
+}
+void FastSerializerHelper::singleElement(sal_Int32 elementTokenId, FSEND_t)
{
- va_list args;
- va_start( args, elementTokenId );
- TokenValueList& rAttrList = mpSerializer->getTokenValueList();
-
- while (true)
- {
- sal_Int32 nName = va_arg(args, sal_Int32);
- if (nName == FSEND_internal)
- break;
- const char* pValue = va_arg(args, const char*);
- if (pValue)
- rAttrList.push_back(TokenValue(nName, pValue));
- }
-
mpSerializer->singleFastElement(elementTokenId);
- va_end( args );
}
void FastSerializerHelper::endElement(sal_Int32 elementTokenId)