summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2015-12-06 21:39:11 +1000
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-12-07 09:37:39 +0000
commita800cc780b60d61fd871ec5598c80a431e13903f (patch)
tree41f5c736e355879b2eb53c9640b5bb6aa2f84502 /writerfilter
parenta1c9165eec98cc0021e5a95efed79a9972cbf0e3 (diff)
tdf#54584: allow backslash before field type in RTF and DOCX
In some RTF and DOCX files, field type may be prepended with backslash. It seems not strictly standard-conformant (at least not to [MS-RTF]). Still, MS Word reads these fields OK. This patch allows LO to read them, too. Change-Id: I1f6bbdd9d57adbea8882d078761dd97298ca03b3 Reviewed-on: https://gerrit.libreoffice.org/20420 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 2d858d4701a1..8e079ea04acc 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -2292,6 +2292,13 @@ lcl_SplitFieldCommand(const OUString& rCommand)
std::vector<OUString> arguments;
std::vector<OUString> switches;
sal_Int32 nStartIndex(0);
+ // tdf#54584: Field may be prepended by a backslash - skip it
+ if ((rCommand.getLength() >= nStartIndex + 2) &&
+ (rCommand[nStartIndex] == '\\') &&
+ (rCommand[nStartIndex + 1] != '\\'))
+ {
+ ++nStartIndex;
+ }
do
{