writerfilter/Library_writerfilter.mk | 2 - writerfilter/README | 3 ++ writerfilter/source/dmapper/DomainMapperTableHandler.cxx | 3 +- writerfilter/source/filter/ImportFilter.cxx | 3 +- writerfilter/source/filter/RtfFilter.cxx | 3 +- writerfilter/source/resourcemodel/TagLogger.cxx | 16 +++++++++++++++ 6 files changed, 26 insertions(+), 4 deletions(-)
New commits: commit 9401b1be3480037f2dfcb7b6daf069137ccd7c42 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Oct 16 21:12:34 2014 +0200 writerfilter: make dmapper logging a runtime decision, not a buildtime one It's still only enabled in debug builds, but it now requires an environment variable, not rebuilding with dbglevel=2. Change-Id: I970c7bfe0b3f547429ef37f37406a095a60c34ff diff --git a/writerfilter/Library_writerfilter.mk b/writerfilter/Library_writerfilter.mk index 4a7e3fb..f4c2c9e 100644 --- a/writerfilter/Library_writerfilter.mk +++ b/writerfilter/Library_writerfilter.mk @@ -28,7 +28,7 @@ $(eval $(call gb_Library_use_sdk_api,writerfilter)) $(eval $(call gb_Library_set_componentfile,writerfilter,writerfilter/util/writerfilter)) $(eval $(call gb_Library_add_defs,writerfilter,\ - $(if $(filter-out 0 1,$(gb_DEBUGLEVEL)), \ + $(if $(filter-out 0,$(gb_DEBUGLEVEL)), \ -DDEBUG_DOMAINMAPPER \ ) \ )) diff --git a/writerfilter/README b/writerfilter/README index 0e8d1dc..0d492e4 100644 --- a/writerfilter/README +++ b/writerfilter/README @@ -11,6 +11,9 @@ Import filter for docx, doc and rtf. == Source contents == * dmapper: the domain mapper, hiding UNO from the tokenizers, used by DOCX and RTF import + * The incoming traffic of dmapper can be dumped into an XML file in /tmp in + debug builds, start soffice with the + `SW_DEBUG_WRITERFILTER=1` environment variable if you want that. * filter: the UNO filter service implementations, invoked by UNO and calling the dmapper + one of the tokenizers * ooxml: the docx tokenizer diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx index 3b99048..0aa4be1 100644 --- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx @@ -415,7 +415,8 @@ TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("mergedProps"); - pMergedProperties->dumpXml( dmapper_logger ); + if (pMergedProperties) + pMergedProperties->dumpXml( dmapper_logger ); dmapper_logger->endElement(); #endif diff --git a/writerfilter/source/filter/ImportFilter.cxx b/writerfilter/source/filter/ImportFilter.cxx index 3740b3b..1eb2670 100644 --- a/writerfilter/source/filter/ImportFilter.cxx +++ b/writerfilter/source/filter/ImportFilter.cxx @@ -83,7 +83,8 @@ sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDes writerfilter::TagLogger::Pointer_t dmapper_logger (writerfilter::TagLogger::getInstance("DOMAINMAPPER")); - dmapper_logger->setFileName(sURLc); + if (getenv("SW_DEBUG_WRITERFILTER")) + dmapper_logger->setFileName(sURLc); dmapper_logger->startDocument(); #endif diff --git a/writerfilter/source/filter/RtfFilter.cxx b/writerfilter/source/filter/RtfFilter.cxx index 3a7e6c4..01a5895 100644 --- a/writerfilter/source/filter/RtfFilter.cxx +++ b/writerfilter/source/filter/RtfFilter.cxx @@ -78,7 +78,8 @@ sal_Bool RtfFilter::filter(const uno::Sequence< beans::PropertyValue >& aDescrip writerfilter::TagLogger::Pointer_t dmapper_logger (writerfilter::TagLogger::getInstance("DOMAINMAPPER")); - dmapper_logger->setFileName(sURLc); + if (getenv("SW_DEBUG_WRITERFILTER")) + dmapper_logger->setFileName(sURLc); dmapper_logger->startDocument(); #endif uno::Reference< io::XInputStream > xInputStream; diff --git a/writerfilter/source/resourcemodel/TagLogger.cxx b/writerfilter/source/resourcemodel/TagLogger.cxx index 58a904e..d65566d 100644 --- a/writerfilter/source/resourcemodel/TagLogger.cxx +++ b/writerfilter/source/resourcemodel/TagLogger.cxx @@ -74,12 +74,16 @@ namespace writerfilter void TagLogger::startDocument() { + if (!pWriter) + return; xmlTextWriterStartDocument( pWriter, NULL, NULL, NULL ); xmlTextWriterStartElement( pWriter, BAD_CAST( "root" ) ); } void TagLogger::endDocument() { + if (!pWriter) + return; xmlTextWriterEndDocument( pWriter ); xmlFreeTextWriter( pWriter ); pWriter = NULL; @@ -149,6 +153,8 @@ namespace writerfilter void TagLogger::startElement(const std::string & name) { + if (!pWriter) + return; xmlChar* xmlName = xmlCharStrdup( name.c_str() ); xmlTextWriterStartElement( pWriter, xmlName ); xmlFree( xmlName ); @@ -157,6 +163,8 @@ namespace writerfilter void TagLogger::attribute(const std::string & name, const std::string & value) { + if (!pWriter) + return; xmlChar* xmlName = xmlCharStrdup( name.c_str() ); xmlChar* xmlValue = xmlCharStrdup( value.c_str() ); xmlTextWriterWriteAttribute( pWriter, xmlName, xmlValue ); @@ -173,6 +181,8 @@ namespace writerfilter void TagLogger::attribute(const std::string & name, sal_uInt32 value) { + if (!pWriter) + return; xmlChar* xmlName = xmlCharStrdup( name.c_str() ); xmlTextWriterWriteFormatAttribute( pWriter, xmlName, "%" SAL_PRIuUINT32, value ); @@ -181,6 +191,8 @@ namespace writerfilter void TagLogger::attribute(const std::string & name, const uno::Any aAny) { + if (!pWriter) + return; std::string aTmpStrInt; std::string aTmpStrFloat; std::string aTmpStrString; @@ -209,6 +221,8 @@ namespace writerfilter void TagLogger::chars(const std::string & rChars) { + if (!pWriter) + return; xmlChar* xmlChars = xmlCharStrdup( rChars.c_str() ); xmlTextWriterWriteString( pWriter, xmlChars ); xmlFree( xmlChars ); @@ -221,6 +235,8 @@ namespace writerfilter void TagLogger::endElement() { + if (!pWriter) + return; xmlTextWriterEndElement( pWriter ); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits