From b8a1483ab39e6f895378dcc15aa584ccd04afbef Mon Sep 17 00:00:00 2001 From: Chris Angelico <rosuav@gmail.com> Date: Sun, 17 Mar 2013 00:17:31 +1100 Subject: [PATCH] Support binary-mode file opening, on platforms where it matters --- src/fdlib.h | 6 ++++++ src/object.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/fdlib.h b/src/fdlib.h index ef0fcef789..1fe5ea8f5f 100644 --- a/src/fdlib.h +++ b/src/fdlib.h @@ -319,7 +319,13 @@ typedef off_t PIKE_OFF_T; #define fd_CREAT O_CREAT #define fd_TRUNC O_TRUNC #define fd_EXCL O_EXCL + +#ifdef O_BINARY +#define fd_BINARY O_BINARY +#else #define fd_BINARY 0 +#endif + #ifdef O_LARGEFILE #define fd_LARGEFILE O_LARGEFILE #else /* !O_LARGEFILE */ diff --git a/src/object.c b/src/object.c index 691fe6609c..fff835e26f 100644 --- a/src/object.c +++ b/src/object.c @@ -476,7 +476,7 @@ static struct pike_string *low_read_file(const char *file) PIKE_OFF_T len; FD f; - while((f = fd_open(file,fd_RDONLY,0666)) <0 && errno==EINTR) + while((f = fd_open(file,fd_RDONLY|fd_BINARY,0666)) <0 && errno==EINTR) check_threads_etc(); if(f >= 0) { -- GitLab