glib r6531 - trunk/gio
- From: alexl svn gnome org
- To: svn-commits-list gnome org
- Subject: glib r6531 - trunk/gio
- Date: Mon, 18 Feb 2008 10:10:59 +0000 (GMT)
Author: alexl
Date: Mon Feb 18 10:10:58 2008
New Revision: 6531
URL: http://svn.gnome.org/viewvc/glib?rev=6531&view=rev
Log:
2008-02-18 Alexander Larsson <alexl redhat com>
* glocalfile.c:
* glocalfileoutputstream.c:
Open files with O_BINARY on windows. (#517140)
Modified:
trunk/gio/ChangeLog
trunk/gio/glocalfile.c
trunk/gio/glocalfileoutputstream.c
Modified: trunk/gio/glocalfile.c
==============================================================================
--- trunk/gio/glocalfile.c (original)
+++ trunk/gio/glocalfile.c Mon Feb 18 10:10:58 2008
@@ -46,6 +46,10 @@
#include <sys/mount.h>
#endif
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
#if defined(HAVE_STATFS) && defined(HAVE_STATVFS)
/* Some systems have both statfs and statvfs, pick the
most "native" for these */
@@ -1110,7 +1114,7 @@
int fd;
struct stat buf;
- fd = g_open (local->filename, O_RDONLY, 0);
+ fd = g_open (local->filename, O_RDONLY|O_BINARY, 0);
if (fd == -1)
{
int errsv = errno;
Modified: trunk/gio/glocalfileoutputstream.c
==============================================================================
--- trunk/gio/glocalfileoutputstream.c (original)
+++ trunk/gio/glocalfileoutputstream.c Mon Feb 18 10:10:58 2008
@@ -48,6 +48,10 @@
#endif
#endif
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
#include "gioalias.h"
#define g_local_file_output_stream_get_type _g_local_file_output_stream_get_type
@@ -456,7 +460,7 @@
else
mode = 0666;
- fd = g_open (filename, O_CREAT | O_EXCL | O_WRONLY, mode);
+ fd = g_open (filename, O_CREAT | O_EXCL | O_WRONLY | O_BINARY, mode);
if (fd == -1)
{
int errsv = errno;
@@ -497,7 +501,7 @@
else
mode = 0666;
- fd = g_open (filename, O_CREAT | O_APPEND | O_WRONLY, mode);
+ fd = g_open (filename, O_CREAT | O_APPEND | O_WRONLY | O_BINARY, mode);
if (fd == -1)
{
int errsv = errno;
@@ -611,9 +615,9 @@
/* We only need read access to the original file if we are creating a backup.
* We also add O_CREATE to avoid a race if the file was just removed */
if (create_backup)
- open_flags = O_RDWR | O_CREAT;
+ open_flags = O_RDWR | O_CREAT | O_BINARY;
else
- open_flags = O_WRONLY | O_CREAT;
+ open_flags = O_WRONLY | O_CREAT | O_BINARY;
/* Some systems have O_NOFOLLOW, which lets us avoid some races
* when finding out if the file we opened was a symlink */
@@ -766,7 +770,7 @@
}
bfd = g_open (backup_filename,
- O_WRONLY | O_CREAT | O_EXCL,
+ O_WRONLY | O_CREAT | O_EXCL | O_BINARY,
original_stat.st_mode & 0777);
if (bfd == -1)
@@ -890,7 +894,7 @@
mode = 0666;
/* If the file doesn't exist, create it */
- fd = g_open (filename, O_CREAT | O_EXCL | O_WRONLY, mode);
+ fd = g_open (filename, O_CREAT | O_EXCL | O_WRONLY | O_BINARY, mode);
if (fd == -1 && errno == EEXIST)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]