From 3abb37f67ea6d78f454573a9bdf6260cf0579e41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Czerpak?= Date: Mon, 12 Oct 2015 13:32:24 +0200 Subject: [PATCH] 2015-10-12 13:32 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * src/rtl/mlcfunc.c * execute hb_MLEval() codeblock for last empty line if passed string ends with EOL --- ChangeLog.txt | 5 +++++ src/rtl/mlcfunc.c | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 4ae7a8a1b8..ebbcac600c 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -10,6 +10,11 @@ * Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment */ +2015-10-12 13:32 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) + * src/rtl/mlcfunc.c + * execute hb_MLEval() codeblock for last empty line if passed string + ends with EOL + 2015-10-12 12:56 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * src/rtl/hbsocket.c ! added casting to 2-nd parameter of inet_ntop() as workaround for diff --git a/src/rtl/mlcfunc.c b/src/rtl/mlcfunc.c index c040124470..2de2bc194b 100644 --- a/src/rtl/mlcfunc.c +++ b/src/rtl/mlcfunc.c @@ -564,7 +564,7 @@ HB_FUNC( HB_MLEVAL ) HB_BOOL fWordWrap = hb_parldef( 5, 1 ); PHB_CODEPAGE cdp = hb_vmCDP(); PHB_ITEM pLineItem = NULL, pSoftItem = NULL; - HB_BOOL fSoftCR; + HB_BOOL fSoftCR, fEOL; char * pszLine; if( ! HB_CDP_ISCHARIDX( cdp ) ) @@ -588,7 +588,7 @@ HB_FUNC( HB_MLEVAL ) { HB_SIZE nBlankCol = 0, nBlankPos = 0, nBlankDst = 0, nCol = 0, nDst = 0; - fSoftCR = HB_FALSE; + fSoftCR = fEOL = HB_FALSE; ++nLines; do { @@ -608,6 +608,7 @@ HB_FUNC( HB_MLEVAL ) ++nOffset; if( pszString[ nOffset ] == HB_CHAR_LF ) ++nOffset; + fEOL = HB_TRUE; break; } else if( pszString[ nOffset ] == HB_CHAR_LF ) @@ -615,6 +616,7 @@ HB_FUNC( HB_MLEVAL ) ++nOffset; if( pszString[ nOffset ] == HB_CHAR_CR ) ++nOffset; + fEOL = HB_TRUE; break; } @@ -685,7 +687,7 @@ HB_FUNC( HB_MLEVAL ) nColPos = 0; } - if( fSoftCR ) + if( fSoftCR || fEOL ) { pLineItem = hb_itemPutC( pLineItem, NULL ); pSoftItem = hb_itemPutL( pSoftItem, HB_FALSE );