From 5bbd829d75573e9a0e6b4346342e839480bf770a Mon Sep 17 00:00:00 2001 From: Maxim Monastirsky Date: Sun, 22 Jan 2017 20:24:02 +0200 Subject: tdf#63673 Never ignore detected BOM SwIoSystem::IsDetectableText was returning false only because the detected line end isn't the same as the system default one. Instead return true whenever there is a known BOM or at least there is no 0x0, and actually use the detected line end. Change-Id: I20cc1642e7ad2e6e13dfb48c325a00c44f818f15 Reviewed-on: https://gerrit.libreoffice.org/33404 Tested-by: Jenkins Reviewed-by: Maxim Monastirsky (cherry picked from commit 48da72b25b41614efd0689c20ef51ce420d53a70) Signed-off-by: Andras Timar --- sw/source/filter/ascii/parasc.cxx | 4 +++- sw/source/filter/basflt/iodetect.cxx | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'sw') diff --git a/sw/source/filter/ascii/parasc.cxx b/sw/source/filter/ascii/parasc.cxx index f6ed774a3c63..e3045b0edee8 100644 --- a/sw/source/filter/ascii/parasc.cxx +++ b/sw/source/filter/ascii/parasc.cxx @@ -269,11 +269,13 @@ sal_uLong SwASCIIParser::ReadChars() sal_uLong nLen, nOrig; nOrig = nLen = rInput.ReadBytes(pArr, ASC_BUFFLEN); rtl_TextEncoding eCharSet; - bool bRet = SwIoSystem::IsDetectableText(pArr, nLen, &eCharSet, &bSwapUnicode); + LineEnd eLineEnd; + bool bRet = SwIoSystem::IsDetectableText(pArr, nLen, &eCharSet, &bSwapUnicode, &eLineEnd); OSL_ENSURE(bRet, "Autodetect of text import without nag dialog must have failed"); if (bRet && eCharSet != RTL_TEXTENCODING_DONTKNOW) { aEmpty.SetCharSet(eCharSet); + aEmpty.SetParaFlags(eLineEnd); rInput.SeekRel(-(long(nLen))); } else diff --git a/sw/source/filter/basflt/iodetect.cxx b/sw/source/filter/basflt/iodetect.cxx index 10c41162fbfc..4409dbfa70d4 100644 --- a/sw/source/filter/basflt/iodetect.cxx +++ b/sw/source/filter/basflt/iodetect.cxx @@ -370,7 +370,7 @@ bool SwIoSystem::IsDetectableText(const sal_Char* pBuf, sal_uLong &rLen, if (pLineEnd) *pLineEnd = eLineEnd; - return bEncodedFilter || (!bIsBareUnicode && eSysLE == eLineEnd); + return bEncodedFilter || !bIsBareUnicode; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3