[PATCH libreoffice-4-0] resolved fdo#60468 no special tab case workaround for CSV im...

Eike Rathke (via Code Review) gerrit at gerrit.libreoffice.org
Tue May 14 05:19:33 PDT 2013


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/3905

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/05/3905/1

resolved fdo#60468 no special tab case workaround for CSV import

This reverts 322cbc3818b0553254aab2dfb3c5b196fe814097 "Import mal-formed
csv files gracefully." (code now moved to a different location) which
was a workaround for a specific situation that breaks things with other
documents.

With the rework of CSV import for 3.6 the import of the one failing
document https://bugzilla.novell.com/attachment.cgi?id=294589 from
https://bugzilla.novell.com/show_bug.cgi?id=507322 works almost fine
without this workaround, with one difference in row 1805 where data is
completely broken and parts of two rows end up in one cell P1805. That
row wasn't correct with the workaround either, see also cell P1805 in
earlier versions.

As a result now without that workaround there is one data row less for
the broken document but correct data for correct documents.

Change-Id: Iacf56993619cd92c1df81f0c49de0eeb04c2e4e4
(cherry picked from commit a883783c2a1b0e7a8ee5b46387d1e1e3bc5e19bd)
---
M sc/source/ui/docshell/impex.cxx
1 file changed, 0 insertions(+), 13 deletions(-)



diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index 9734f72..eab9baf 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -2304,9 +2304,6 @@
     {
         const sal_Unicode* pSeps = rFieldSeparators.GetBuffer();
 
-        // See if the separator(s) include tab.
-        bool bTabSep = lcl_UnicodeStrChr(pSeps, '\t') != NULL;
-
         QuoteType eQuoteState = FIELDEND_QUOTE;
         bool bFieldStart = true;
 
@@ -2321,16 +2318,6 @@
             {
                 if (nQuotes)
                 {
-                    if (bTabSep && *p == '\t' && (nQuotes % 2) != 0)
-                    {
-                        // When tab-delimited, tab char ends quoted sequence
-                        // even if we haven't reached the end quote.  Doing
-                        // this helps keep mal-formed rows from damaging
-                        // other, well-formed rows.
-                        nQuotes = 0;
-                        break;
-                    }
-
                     if (*p == cFieldQuote)
                     {
                         if (bFieldStart)

-- 
To view, visit https://gerrit.libreoffice.org/3905
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iacf56993619cd92c1df81f0c49de0eeb04c2e4e4
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: libreoffice-4-0
Gerrit-Owner: Eike Rathke <erack at redhat.com>



More information about the LibreOffice mailing list