aboutsummaryrefslogtreecommitdiff
path: root/src/fstring.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/fstring.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/fstring.h b/src/fstring.h
index 00bb12c..73b04ab 100644
--- a/src/fstring.h
+++ b/src/fstring.h
@@ -222,10 +222,13 @@ namespace Bu
222 222
223 Chunk *pNew = newChunk( nNewSize ); 223 Chunk *pNew = newChunk( nNewSize );
224 long nNewLen = (nNewSize<nLength)?(nNewSize):(nLength); 224 long nNewLen = (nNewSize<nLength)?(nNewSize):(nLength);
225 cpy( pNew->pData, pFirst->pData, nNewLen ); 225 if( nLength > 0 )
226 {
227 cpy( pNew->pData, pFirst->pData, nNewLen );
228 aChr.deallocate( pFirst->pData, pFirst->nLength+1 );
229 aChunk.deallocate( pFirst, 1 );
230 }
226 pNew->pData[nNewLen] = (chr)0; 231 pNew->pData[nNewLen] = (chr)0;
227 aChr.deallocate( pFirst->pData, pFirst->nLength+1 );
228 aChunk.deallocate( pFirst, 1 );
229 pFirst = pLast = pNew; 232 pFirst = pLast = pNew;
230 nLength = nNewSize; 233 nLength = nNewSize;
231 } 234 }
@@ -396,7 +399,7 @@ namespace Bu
396 flatten(); 399 flatten();
397 const chr *a = pData; 400 const chr *a = pData;
398 chr *b = pFirst->pData; 401 chr *b = pFirst->pData;
399 for( ; *a!=(chr)0; a++, b++ ) 402 for( ; *a!=(chr)0 || *b!=(chr)0; a++, b++ )
400 { 403 {
401 if( *a != *b ) 404 if( *a != *b )
402 return false; 405 return false;
@@ -420,7 +423,7 @@ namespace Bu
420 pData.flatten(); 423 pData.flatten();
421 const chr *a = pData.pFirst->pData; 424 const chr *a = pData.pFirst->pData;
422 chr *b = pFirst->pData; 425 chr *b = pFirst->pData;
423 for( ; *a!=(chr)0; a++, b++ ) 426 for( ; *a!=(chr)0 || *b!=(chr)0; a++, b++ )
424 { 427 {
425 if( *a != *b ) 428 if( *a != *b )
426 return false; 429 return false;
@@ -587,7 +590,7 @@ namespace Bu
587 long nNewLen = nLength - nAmnt; 590 long nNewLen = nLength - nAmnt;
588 flatten(); 591 flatten();
589 Chunk *pNew = newChunk( nNewLen ); 592 Chunk *pNew = newChunk( nNewLen );
590 cpy( pNew->pData, pFirst->pData, nNewLen ); 593 cpy( pNew->pData, pFirst->pData+nAmnt, nNewLen );
591 clear(); 594 clear();
592 appendChunk( pNew ); 595 appendChunk( pNew );
593 } 596 }