[Libreoffice-commits] core.git: sw/source

Maxim Monastirsky momonasmon at gmail.com
Mon Jan 23 11:03:15 UTC 2017


 sw/source/filter/ascii/parasc.cxx    |    4 +++-
 sw/source/filter/basflt/iodetect.cxx |    2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

New commits:
commit 6ff57262f44843ccd1f320426984b5e074e3eaf1
Author: Maxim Monastirsky <momonasmon at gmail.com>
Date:   Sun Jan 22 20:24:02 2017 +0200

    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 <ci at libreoffice.org>
    Reviewed-by: Maxim Monastirsky <momonasmon at gmail.com>

diff --git a/sw/source/filter/ascii/parasc.cxx b/sw/source/filter/ascii/parasc.cxx
index b3c75f6..0256f78 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 1ab3626..6522a92 100644
--- a/sw/source/filter/basflt/iodetect.cxx
+++ b/sw/source/filter/basflt/iodetect.cxx
@@ -369,7 +369,7 @@ bool SwIoSystem::IsDetectableText(const sal_Char* pBuf, sal_uLong &rLen,
     if (pLineEnd)
         *pLineEnd = eLineEnd;
 
-    return !bIsBareUnicode && eSysLE == eLineEnd;
+    return !bIsBareUnicode;
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list