filter/source/xmlfilterdetect/filterdetect.cxx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-)
New commits: commit f38277dc0337df15f3ea689096a2c18a03354a61 Author: Maxim Monastirsky <momonas...@gmail.com> Date: Thu Dec 5 17:56:17 2013 +0200 fdo#46262 Detect XML files with UTF-8 BOM Also convert sal_Char (deprecated) -> char Change-Id: Ibf66f6a9ea751bab96f43671fe95a835c073d9e0 Reviewed-on: https://gerrit.libreoffice.org/6942 Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrh...@googlemail.com> diff --git a/filter/source/xmlfilterdetect/filterdetect.cxx b/filter/source/xmlfilterdetect/filterdetect.cxx index 60681d2..27f173a 100644 --- a/filter/source/xmlfilterdetect/filterdetect.cxx +++ b/filter/source/xmlfilterdetect/filterdetect.cxx @@ -78,10 +78,24 @@ bool isXMLStream(const OString& aHeaderStrm) size_t n = aHeaderStrm.getLength(); size_t i = 0; + // Skip UTF-8 BOM + const char sBOM[] = {(char)0xEF, (char)0xBB, (char)0xBF}; + for (i = 0; i < n; ++i, ++p) + { + if (i < 3 && *p == sBOM[i]) + continue; + else if (i == 3 || i == 0) + break; + else if (i > 0) + return false; + } + + n -= i; + // Skip all preceding blank characters. for (i = 0; i < n; ++i, ++p) { - sal_Char c = *p; + char c = *p; if (c == ' ' || c == '\n' || c == '\t') continue; break; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits