]> git.tdb.fi Git - ext/subsurface.git/commit
file.c: open a file in binary mode in readfile()
authorLubomir I. Ivanov <neolit123@gmail.com>
Fri, 24 Aug 2012 22:39:00 +0000 (01:39 +0300)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 26 Aug 2012 20:09:22 +0000 (13:09 -0700)
commit642c83f5327317780a0f10b3ab46f6c1bd8bb202
tree25da068eb33918cf786b87f9afb74e1a0dec5db6
parent415383d65ef425de8ddee86324632e3f720827f9
file.c: open a file in binary mode in readfile()

O_TEXT is the default mode for fctrl's open() and on windows created
files, line endings are counted by fstat() as CR+LF adding an extra
byte for each line. the result from this is that, while the file still
can be read into a buffer, the read() return (ret) has a different
size compared to the previously allocated buffer, breaking at:

if (ret == mem->size)

a solution is to open() the file in O_BINARY mode, which should
technically suppress the EOL translation.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
[ Fixed to work under real operating systems that don't need this crap.
  "Here's a nickel, kid, go and buy a real OS".  - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
file.c