From 22e51abaebd4f0c194e505d879f9b6a2fc31890d Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Tue, 10 Jul 2007 00:32:36 +0000 Subject: Fixed a bunch of stuff, I don't even know what... --- src/fstring.h | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/fstring.h') 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 Chunk *pNew = newChunk( nNewSize ); long nNewLen = (nNewSizepData, pFirst->pData, nNewLen ); + if( nLength > 0 ) + { + cpy( pNew->pData, pFirst->pData, nNewLen ); + aChr.deallocate( pFirst->pData, pFirst->nLength+1 ); + aChunk.deallocate( pFirst, 1 ); + } pNew->pData[nNewLen] = (chr)0; - aChr.deallocate( pFirst->pData, pFirst->nLength+1 ); - aChunk.deallocate( pFirst, 1 ); pFirst = pLast = pNew; nLength = nNewSize; } @@ -396,7 +399,7 @@ namespace Bu flatten(); const chr *a = pData; chr *b = pFirst->pData; - for( ; *a!=(chr)0; a++, b++ ) + for( ; *a!=(chr)0 || *b!=(chr)0; a++, b++ ) { if( *a != *b ) return false; @@ -420,7 +423,7 @@ namespace Bu pData.flatten(); const chr *a = pData.pFirst->pData; chr *b = pFirst->pData; - for( ; *a!=(chr)0; a++, b++ ) + for( ; *a!=(chr)0 || *b!=(chr)0; a++, b++ ) { if( *a != *b ) return false; @@ -587,7 +590,7 @@ namespace Bu long nNewLen = nLength - nAmnt; flatten(); Chunk *pNew = newChunk( nNewLen ); - cpy( pNew->pData, pFirst->pData, nNewLen ); + cpy( pNew->pData, pFirst->pData+nAmnt, nNewLen ); clear(); appendChunk( pNew ); } -- cgit v1.2.3