From a5d0d38ae0b7692692f7ec8efb886dc3bb4782f3 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 10 Apr 2018 20:00:18 +0200 Subject: [PATCH] cs: use `O_BINARY` only on Windows --- racket/src/cs/c/boot.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/racket/src/cs/c/boot.c b/racket/src/cs/c/boot.c index 6287a95ca1..23623c404b 100644 --- a/racket/src/cs/c/boot.c +++ b/racket/src/cs/c/boot.c @@ -9,6 +9,14 @@ #include "rktio.h" #include "boot.h" +#if defined(_MSC_VER) || defined(__MINGW32__) +# define BOOT_O_BINARY O_BINARY +#endif + +#ifndef BOOT_O_BINARY +# define BOOT_O_BINARY 0 +#endif + #if defined(OS_X) && !defined(RACKET_XONX) # include @@ -80,7 +88,7 @@ void racket_boot(int argc, char **argv, char *self, long segment_offset, Sregister_boot_file(path_append(fw_path, "petite.boot")); Sregister_boot_file(path_append(fw_path, "scheme.boot")); #else - fd = open(self, O_RDONLY | O_BINARY); + fd = open(self, O_RDONLY | BOOT_O_BINARY); { int fd1, fd2;