http://d.puremagic.com/issues/show_bug.cgi?id=9750

           Summary: byLine(KeepTerminator.no) problem with Windows
                    newlines in binary mode files
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: nob...@puremagic.com
        ReportedBy: bearophile_h...@eml.cc


--- Comment #0 from bearophile_h...@eml.cc 2013-03-18 11:20:32 PDT ---
I have a text file "words.txt" with lines separated by Windows newlines:


word1
word2
word3



This code:

import std.stdio;
void main() {
    File("words.txt")
    .byLine(KeepTerminator.no)
    .writeln;
}


Prints:

["word1\r", "word2\r", "word3"]


I think the problem comes from File() opening on default in binary mode, so
each line (but the last one) ends with "\r\n", and byLine(KeepTerminator.no) is
stripping away only '\n' leaving the '\r'.

I think a D user assumes KeepTerminator.no should remove both if present.
std.string.chomp() removes both if they are present.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to