FastSaxSerializer::write ...

Michael Meeks michael.meeks at
Sat Jan 16 03:33:55 PST 2016

Hi Mark,

	Great to see:

commit e99f22bbc499ab0566621ee0bb01e4a7747efe76
Author: Mark Hung <marklh9 at>
Date:   Sun Jan 10 00:28:14 2016 +0800

    Fix FastSaxSerializer::write() for non-BMP unicode characters.

	Clearly we don't want to mangle UTF-16 etc. characters - and the code
looks dodgy indeed for that =)

	I'm somewhat suspicious though that this will cause some unhelpful
performance regression; and I was wondering if you could look into
fixing that ? and (ideally) helping out with a regression test for these
characters ? =)

	Memory allocation of OStrings etc. via rtl/sal is rather expensive in
most of the profiles I've seen; and particularly doing it for every
attribute ;-)

	Would it be possible to replace the original code - but - as soon as we
hit a non-ASCII character to convert the rest of the string, and write
that - so something like:

	write (OString(sOutput[i], nLength-i, RTL_TEXTENCODING_UTF8), bEscape);

	So we can get the character conversion and pairing correct - while
keeping the lack of allocation there ? =)

	Anyhow - thanks muchly for the fix ! great to see complex text support

	All the best,


 michael.meeks at  <><, Pseudo Engineer, itinerant idiot

More information about the LibreOffice mailing list