Hi Przemek,

Przemyslaw Czerpak ha scritto:
2008-07-29 20:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
  * harbour/source/rtl/mlcfunc.c
    ! skip SOFTCR when it's on the end of extracted line.
    ; NOTE: MPOSTOLC() is not exactly CA-Cl*pper compatible
            The returned value is intentionally updated to be
            MLCTOPOS() so conversions are revertable. For me
            it's a bug in CA-Cl*pper.


first of all, thank you.

It is partially working.
Now I found a bug with an endless loop using the code below. I'm digging inside c code and I have found that in MPosToLC(), putting a var dumping at line 428 using

printf( "ulLine = %i, ulOffset = %i, ulEOL = %i, ulLen = %i, ulPos = %i\n\r", ulLine, ulOffset, ulEOL, ulLen, ulPos );

I get:

ulLine = 1, ulOffset = 73, ulEOL = 0, ulLen = 84, ulPos = 71
ulLine = 1, ulOffset = 60, ulEOL = 0, ulLen = 278, ulPos = 146
ulLine = 2, ulOffset = 60, ulEOL = 0, ulLen = 278, ulPos = 146
ulLine = 3, ulOffset = 60, ulEOL = 0, ulLen = 278, ulPos = 146
ulLine = 4, ulOffset = 60, ulEOL = 0, ulLen = 278, ulPos = 146
ulLine = 5, ulOffset = 60, ulEOL = 0, ulLen = 278, ulPos = 146
ulLine = 6, ulOffset = 60, ulEOL = 0, ulLen = 278, ulPos = 146
...................

Tested against Clipper 5.2c as before.

Best Regards

Francesco

PS: Sorry for text in italian, but it was my test sample

------------------------

#define HB_HARDCR               ( Chr( 13 ) + Chr( 10 ) )
#define HB_SOFTCR               ( Chr( 141 ) + Chr( 10 ) )

PROCEDURE Main()

  LOCAL cText
  LOCAL aPos

cText := "LINEA 1: questa e' una prova per vedere andando a capo cosa " + HB_SOFTCR + ;
           "succede." + HB_HARDCR +;
           "LINEA 2: questa e' una riga che non va a capo." + HB_HARDCR +;
"LINEA 3: questa e' <TEST> una riga che non va a capo." + HB_HARDCR +; "LINEA 4: questa riga va a capo, per cui ora vedo cosa " + HB_SOFTCR + ;
           "succede." + HB_HARDCR +;
           "LINEA 5: questa riga non va a capo." + HB_HARDCR

  ? Len( cText )

  aPos := MPosToLC( cText, 60, 147, 0, .F. )
  ? "Line ", aPos[ 1 ], ", Col ", aPos[ 2 ], " (Should be 4, 26)"

RETURN

_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to