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 14:14:10 +0100 |
commit | 35191846feb19751e247cd228d7dcc6ddfdf2c8b (patch) | |
tree | 4159a873b0b104d539e67549a4bf8b83f47721cf | |
parent | cd83f520c4412d86c1bd63f12d56fb0d1158d04e (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>
(cherry picked from commit 579db0d2d3d2ddf5a5f8feaa2e7cc4dde81d7701)
Reviewed-on: https://gerrit.libreoffice.org/84592
-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)); } |