[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.3' - oox/source

Miklos Vajna vmiklos at collabora.co.uk
Fri Jun 23 14:41:39 UTC 2017


 oox/source/core/filterdetect.cxx |   13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

New commits:
commit de2d6e773212c983dc190d1d29d005de87df6ffd
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Tue Jun 6 11:32:02 2017 +0200

    Related: tdf#108269 oox: ignore case when checking .docm extension
    
    Also check for ".docm", not "docm" as a suffix.
    
    Change-Id: Ib9d3474cfe3139ee1ea51210a5606cd52243fee5
    Reviewed-on: https://gerrit.libreoffice.org/38430
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Jenkins <ci at libreoffice.org>
    (cherry picked from commit 1c768b975827c74e58944b8b12ab254891389edc)
    Reviewed-on: https://gerrit.libreoffice.org/38557
    Reviewed-by: Andras Timar <andras.timar at collabora.com>
    Tested-by: Andras Timar <andras.timar at collabora.com>

diff --git a/oox/source/core/filterdetect.cxx b/oox/source/core/filterdetect.cxx
index 50590f0469a6..8812e0c30c25 100644
--- a/oox/source/core/filterdetect.cxx
+++ b/oox/source/core/filterdetect.cxx
@@ -172,10 +172,19 @@ void FilterDetectDocHandler::parseRelationship( const AttributeList& rAttribs )
 
 OUString FilterDetectDocHandler::getFilterNameFromContentType( const OUString& rContentType, const OUString& rFileName )
 {
-    if( rContentType == "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" && !rFileName.endsWith("docm") )
+    bool bDocm = false;
+    OUString aDocmExtension = ".docm";
+    if (rFileName.getLength() >= aDocmExtension.getLength())
+    {
+        OUString aExtension = rFileName.copy(rFileName.getLength() - aDocmExtension.getLength());
+        // The file name ends with .docm, ignoring case.
+        bDocm = aExtension.equalsIgnoreAsciiCase(aDocmExtension);
+    }
+
+    if( rContentType == "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" && !bDocm )
         return OUString( "writer_MS_Word_2007" );
 
-    if( rContentType == "application/vnd.ms-word.document.macroEnabled.main+xml" || rFileName.endsWith("docm") )
+    if( rContentType == "application/vnd.ms-word.document.macroEnabled.main+xml" || bDocm )
         return OUString( "writer_MS_Word_2007_VBA" );
 
     if( rContentType == "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" ||


More information about the Libreoffice-commits mailing list