From 4dd1f85094620506317dafc223d38e6c392b6599 Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Sat, 23 Nov 2013 10:02:34 +0000 Subject: fastparser: avoid allocation and conversion of elementnames we don't need. Change-Id: I4c09aaa12b53181e50662de2721d170c195c7c86 --- sax/source/fastparser/fastparser.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sax/source/fastparser/fastparser.cxx b/sax/source/fastparser/fastparser.cxx index 8f68051eccd1..da224d0a62fe 100644 --- a/sax/source/fastparser/fastparser.cxx +++ b/sax/source/fastparser/fastparser.cxx @@ -998,14 +998,18 @@ void FastSaxParser::callbackStartElement( const XML_Char* pwName, const XML_Char rEvent.mnElementToken = GetToken( pName ); if( rEvent.mnElementToken == FastToken::DONTKNOW ) + { if( nPrefixLen > 0 ) { rEvent.msNamespace = GetNamespaceURL( pPrefix, nPrefixLen ); nNamespaceToken = GetNamespaceToken( rEvent.msNamespace ); } + rEvent.msElementName = OUString( pName, nNameLen, RTL_TEXTENCODING_UTF8 ); + } + else // token is always preferred. + rEvent.msElementName = OUString( "" ); rEntity.maNamespaceStack.push( NameWithToken(rEvent.msNamespace, nNamespaceToken) ); - rEvent.msElementName = OUString(pName, nNameLen, RTL_TEXTENCODING_UTF8); if (rEntity.mbEnableThreads) produce( START_ELEMENT ); else -- cgit v1.2.3