Resolves: tdf#96561 Include embedded null-characters while assembling CSV line
... instead of prematurely ending analysis and skipping the
remainder that is still part of data read.
Change-Id: I8f34bc9672e37f9c1c1ae81ddeba464360add7c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120555
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index f64cf4b..3a798b3 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -2516,8 +2516,17 @@ Label_RetryWithNewSep:
while (!rStream.eof() && aStr.getLength() < nArbitraryLineLengthLimit)
{
const sal_Unicode * p = aStr.getStr() + nLastOffset;
while (*p)
const sal_Unicode * const pStop = aStr.getStr() + aStr.getLength();
while (p < pStop)
{
if (!*p)
{
// Skip embedded null-characters. They don't change
// anything and are handled at a higher level.
++p;
continue;
}
if (nQuotes)
{
if (*p == cFieldQuote)