diff options
author | László Németh <nemeth@numbertext.org> | 2019-12-05 11:42:59 +0100 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2019-12-06 08:10:51 +0100 |
commit | 579db0d2d3d2ddf5a5f8feaa2e7cc4dde81d7701 (patch) | |
tree | e16d10d416a2c05a7827c6cf32ec37e19735b28e /sax | |
parent | 291b1acd3b9664ed41954458648448d7799d4df9 (diff) |
cleanup "tdf#117274 XLSX export: fix VML comment shape type id"
Limit special MSO ID check for attribute values.
Follow-up of commit c5d37d324cd6d17114c209de1862344ad58a1d93.
Change-Id: I0f16b0df0c5575b799bb505a93c660c15b3273c5
Reviewed-on: https://gerrit.libreoffice.org/84549
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'sax')
-rw-r--r-- | sax/source/tools/fastserializer.cxx | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sax/source/tools/fastserializer.cxx b/sax/source/tools/fastserializer.cxx index cc7293a6a3f9..a362ff438383 100644 --- a/sax/source/tools/fastserializer.cxx +++ b/sax/source/tools/fastserializer.cxx @@ -130,9 +130,7 @@ namespace sax_fastparser { if (nLen == -1) nLen = pStr ? strlen(pStr) : 0; - if ( !bEscape || - // tdf#127274 don't escape the special VML shape type id "#_x0000_t202" - (pStr && strcmp(pStr, "#_x0000_t202") == 0) ) + if (!bEscape) { writeBytes( pStr, nLen ); return; @@ -465,7 +463,12 @@ namespace sax_fastparser { writeBytes(sEqualSignAndQuote, N_CHARS(sEqualSignAndQuote)); - write(rAttrList.getFastAttributeValue(j), rAttrList.AttributeValueLength(j), true); + const char* pAttributeValue = rAttrList.getFastAttributeValue(j); + + // tdf#127274 don't escape the special VML shape type id "#_x0000_t202" + bool bEscape = !(pAttributeValue && strcmp(pAttributeValue, "#_x0000_t202") == 0); + + write(pAttributeValue, rAttrList.AttributeValueLength(j), bEscape); writeBytes(sQuote, N_CHARS(sQuote)); } |