changeset 43:bd0d29eb0d7b

Handling of pFirstNonWhiteChar corrected.
author joachim99
date Wed, 15 Oct 2003 19:54:41 +0000
parents f8290ffda5ca
children bf8fa177e5a1
files kdiff3/src/diff.cpp
diffstat 1 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/kdiff3/src/diff.cpp	Tue Oct 14 21:03:13 2003 +0000
+++ b/kdiff3/src/diff.cpp	Wed Oct 15 19:54:41 2003 +0000
@@ -17,6 +17,9 @@
 
 /***************************************************************************
  * $Log$
+ * Revision 1.3  2003/10/15 19:54:41  joachim99
+ * Handling of pFirstNonWhiteChar corrected.
+ *
  * Revision 1.2  2003/10/14 20:49:56  joachim99
  * SourceData::preprocess(): Fix for several subsequent CR-characters.
  *
@@ -133,11 +136,12 @@
       const LineData* pLd2 = ldr2.m_pLd;
       const char* p1 = pLd1->pFirstNonWhiteChar;
       const char* p2 = pLd2->pFirstNonWhiteChar;
-      int i1=pLd1->pFirstNonWhiteChar - pLd1->pLine;
-      int i2=pLd2->pFirstNonWhiteChar - pLd2->pLine;
 
       int size1=pLd1->size;
       int size2=pLd2->size;
+
+      int i1=min2(pLd1->pFirstNonWhiteChar - pLd1->pLine,size1);
+      int i2=min2(pLd2->pFirstNonWhiteChar - pLd2->pLine,size2);
       for(;;)
       {
          while( i1<size1 && isWhite( p1[i1] ) ) ++i1;
@@ -200,7 +204,7 @@
          {
             --lineLength;
          }
-         m_v[lineIdx].pFirstNonWhiteChar = m_v[lineIdx].pLine + whiteLength;
+         m_v[lineIdx].pFirstNonWhiteChar = m_v[lineIdx].pLine + min2(whiteLength,lineLength);
          m_v[lineIdx].size = lineLength;
          lineLength = 0;
          bNonWhiteFound = false;