// headers
// ----------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "file.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
};
#endif // W_OK
-// there is no distinction between text and binary files under Unix, so define
-// O_BINARY as 0 if the system headers don't do it already
-#if defined(__UNIX__) && !defined(O_BINARY)
- #define O_BINARY (0)
-#endif //__UNIX__
-
#ifdef __SALFORDC__
#include <unix.h>
#endif
-#ifndef MAX_PATH
- #define MAX_PATH 512
-#endif
-
// some broken compilers don't have 3rd argument in open() and creat()
#ifdef __SALFORDC__
#define ACCESS(access)
#include "wx/file.h"
#include "wx/filefn.h"
+// there is no distinction between text and binary files under Unix, so define
+// O_BINARY as 0 if the system headers don't do it already
+#if defined(__UNIX__) && !defined(O_BINARY)
+ #define O_BINARY (0)
+#endif //__UNIX__
+
#ifdef __WXMSW__
#include "wx/msw/mslu.h"
#endif
#include "wx/msw/private.h"
#endif
+#ifndef MAX_PATH
+ #define MAX_PATH 512
+#endif
// ============================================================================
// implementation of wxFile
wxLogSysError(_("can't create file '%s'"), szFileName);
return false;
}
- else
- {
- Attach(fd);
- return true;
- }
+
+ Attach(fd);
+ return true;
}
// open the file
wxLogSysError(_("can't open file '%s'"), szFileName);
return false;
}
- else {
- Attach(fd);
- return true;
- }
+
+ Attach(fd);
+ return true;
}
// close
// flush
bool wxFile::Flush()
{
- if ( IsOpened() ) {
-#if defined(__VISUALC__) || wxHAVE_FSYNC
+#ifdef HAVE_FSYNC
+ // fsync() only works on disk files and returns errors for pipes, don't
+ // call it then
+ if ( IsOpened() && GetKind() == wxFILE_KIND_DISK )
+ {
if ( wxFsync(m_fd) == -1 )
{
wxLogSysError(_("can't flush file descriptor %d"), m_fd);
return false;
}
-#else // no fsync
- // just do nothing
-#endif // fsync
}
+#endif // HAVE_FSYNC
return true;
}