mkstemp uses O_BINARY
authorAndy Wingo <wingo@pobox.com>
Wed, 20 Feb 2013 20:20:55 +0000 (21:20 +0100)
committerAndy Wingo <wingo@pobox.com>
Wed, 20 Feb 2013 20:20:55 +0000 (21:20 +0100)
* libguile/mkstemp.c (mkstemp): Add O_BINARY.  Since temp files are
  empty at the beginning, we're not changing the behavior for reading
  files.  For writing files `newline' and ~% can add \r elements as
  needed.  So this is a reasonable thing to do, and it prevents mangling
  of temp files for the compiler.

libguile/mkstemp.c

index 6a573c6..a7eaf10 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1996, 1998, 2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1996, 1998, 2001, 2006, 2013 Free Software Foundation, Inc.
    This file is derived from mkstemps.c from the GNU Libiberty Library
    which in turn is derived from the GNU C Library.
 
@@ -112,7 +112,7 @@ mkstemp (template)
       v /= 62;
       XXXXXX[5] = letters[v % 62];
 
-      fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600);
+      fd = open (template, O_RDWR|O_CREAT|O_EXCL|O_BINARY, 0600);
       if (fd >= 0)
        /* The file does not exist.  */
        return fd;