diff --git a/harbour/ChangeLog b/harbour/ChangeLog index a188845fba..a9cdafbfca 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,8 @@ +2000-02-01 06:20 UTC-0800 Brian Hays + * source/rtl/memoline.c + * fixed nasty bug that would blow away the app if word wrap was on + and the next character after filling the line length was a space. + 2001-02-01 22:10 GMT -3 Luiz Rafael Culik +source/debug/dbgtarr.prg *Browse functions for view arrays on debugger diff --git a/harbour/source/rtl/memoline.c b/harbour/source/rtl/memoline.c index 5871eaaf50..6044edce15 100644 --- a/harbour/source/rtl/memoline.c +++ b/harbour/source/rtl/memoline.c @@ -60,6 +60,7 @@ HB_FUNC( MEMOLINE ) ulLineBegin = ulPos; ulLineEnd = 0; + while( ulPos < ulLen && ulLines < ulLineNumber ) { switch( pszString[ ulPos ] ) @@ -96,7 +97,7 @@ HB_FUNC( MEMOLINE ) { if( bWordWrap ) { - if( ulLastSpace == 0 ) + if( ulLastSpace == 0 || ulLastSpace == ulCurLength ) { ulCurLength = 1; ulLineEnd = ulPos - 1; @@ -147,6 +148,7 @@ HB_FUNC( MEMOLINE ) ulSpAdded += ( ( ULONG ) ( ulPos / ulTabLength ) * ulTabLength ) + ulTabLength - ulPos - 1; else * ( pszLine + ulPos + ulSpAdded ) = * ( pszString + ulLineBegin + ulPos ); + } }