]> granicus.if.org Git - re2c/commit
Fixed line endings in output files on Windows (#162, #163).
authorUlya Trofimovich <skvadrik@gmail.com>
Sun, 30 Jul 2017 16:45:30 +0000 (17:45 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Sun, 30 Jul 2017 16:45:30 +0000 (17:45 +0100)
commit6831c35f53cd4db7196e6fd3c0a26ef5a2e75d38
tree18d4b9e6f8964aa8691f970e2b5e3eb72b68bfcc
parent20dc41d6cd132ce6ff273fd3dba76278f357c08c
Fixed line endings in output files on Windows (#162, #163).

This fix consists of two issues, both reported and fixed by pauloscustodio.

1. #162 "Open text files with "wb" causes issues on Windows"

    Text files need to be opened for writing with "w", so that stdio does
    the right thing in respect to the correct line endings for the current OS.
    ("\r\n" in Windows, "\n" in Linux).

2. #163 "Reading files with "rb" causes issues in Windows"

    re2c reads input files in binary mode and writes the generated output in
    text mode. This caused CR LF conversion to CR CR LF on Windows: first CR
    comes from reading input in binary mode, second CR is added when writing
    output in text mode. This only happened to those parts of input which are
    not transformed by re2c: we used to copy-paste verbatim, now we patch line
    endings. Now we convert all line endings to LF before writing the generated
    code to file.
re2c/src/code/output.cc