Hi, Just noticed that AdjustLineBreaks is broken if the Style parameter is set to tlbsCR. (Tested with 3.2.2). In fpc main this is fixed, in fixes_3_2 this still seems broken.
The fix in main was committed in 1c4151d8 (1 merge reques t!396 Fix, shorten*, and speed up AdjustLineBreaks.( MR by Rika)) In the MR Rika comments: "presently, AdjustLineBreaks might just not work, because it attempts to optimize the case of unchanged string by looking only if the length has changed, which does not account for possible changing lone #13 to #10." It does not mention that (before the fix) AdjustLineBreak(SomeStringWithCRLF, tlbsCR) changed the linebreaks to LineFeed instead of CarriageReturn. I would request that the changes from commit 1c4151d8 are merged to fixes_3_2. For completeness I attached a sample program demonstrating the error. Run with commandlineparameter --3.2.2 to see 3.2.2 behaviour Run with commandlineparameter --fixes to see fixes_3_2 behaviour Run with commandlineparameter --trunk to see fpc main (with commit 1c4151d8) behaviour Run without commandline parameter to get the default behaviour of your current compiler. For both 3.2.2 and fixes code it outputs: LF: OK: one[LF]two[LF]three CR: Fail Expected: one[CR]two[CR]three Got : one[LF]two[LF]three CRLF: OK: one[CR][LF]two[CR][LF]three LF to CR: Fail Expected: one[CR]two[CR]three Got : one[LF]two[LF]three LF->CR->CRLF: OK: one[CR][LF]two[CR][LF]three CRLF->LF->CR: Fail Expected: one[CR]two[CR]three Got : one[LF]two[LF]three The code for main outputs: LF: OK: one[LF]two[LF]three CR: OK: one[CR]two[CR]three CRLF: OK: one[CR][LF]two[CR][LF]three LF to CR: OK: one[CR]two[CR]three LF->CR->CRLF: OK: one[CR][LF]two[CR][LF]three CRLF->LF->CR: OK: one[CR]two[CR]three -- Bart
test.pas
Description: Binary data
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel