From d43fc40718217d89cc95cc3c0bc0b8e7926abcc0 Mon Sep 17 00:00:00 2001
From: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Thu, 1 Jun 2017 10:50:49 +0200
Subject: 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>
---
 sax/source/tools/fshelper.cxx | 45 +++++++++++--------------------------------
 1 file changed, 11 insertions(+), 34 deletions(-)

(limited to 'sax')

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)
-- 
cgit