fix 221797 flush mork db file buffers on win98, r=me, sr=mscott, a=asa, initial patch by Christian Franke
git-svn-id: svn://10.0.0.236/trunk@150202 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
5d70e33d9f
commit
9b702bb3ba
@ -94,7 +94,13 @@
|
|||||||
#define MORK_FILETELL(file) ftell(file)
|
#define MORK_FILETELL(file) ftell(file)
|
||||||
#define MORK_FILESEEK(file, where, how) fseek(file, where, how)
|
#define MORK_FILESEEK(file, where, how) fseek(file, where, how)
|
||||||
#define MORK_FILEREAD(outbuf, insize, file) fread(outbuf, 1, insize, file)
|
#define MORK_FILEREAD(outbuf, insize, file) fread(outbuf, 1, insize, file)
|
||||||
|
#if defined(MORK_WIN)
|
||||||
|
void mork_fileflush(FILE * file);
|
||||||
|
#define MORK_FILEFLUSH(file) mork_fileflush(file)
|
||||||
|
#else
|
||||||
#define MORK_FILEFLUSH(file) fflush(file)
|
#define MORK_FILEFLUSH(file) fflush(file)
|
||||||
|
#endif /*MORK_WIN*/
|
||||||
|
|
||||||
#if defined(MORK_OS2)
|
#if defined(MORK_OS2)
|
||||||
FILE* mork_fileopen(const char* name, const char* mode);
|
FILE* mork_fileopen(const char* name, const char* mode);
|
||||||
#define MORK_FILEOPEN(file, how) mork_fileopen(file, how)
|
#define MORK_FILEOPEN(file, how) mork_fileopen(file, how)
|
||||||
|
|||||||
@ -56,6 +56,11 @@
|
|||||||
#include "morkFile.h"
|
#include "morkFile.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef MORK_WIN
|
||||||
|
#include "io.h"
|
||||||
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
// #define MORK_CONFIG_USE_ORKINFILE 1
|
// #define MORK_CONFIG_USE_ORKINFILE 1
|
||||||
|
|
||||||
#ifdef MORK_CONFIG_USE_ORKINFILE
|
#ifdef MORK_CONFIG_USE_ORKINFILE
|
||||||
@ -920,5 +925,22 @@ morkStdioFile::Steal(nsIMdbEnv* ev, nsIMdbFile* ioThief)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(MORK_WIN)
|
||||||
|
|
||||||
|
void mork_fileflush(FILE * file)
|
||||||
|
{
|
||||||
|
fflush(file);
|
||||||
|
OSVERSIONINFOA vi = { sizeof(OSVERSIONINFOA) };
|
||||||
|
if ((GetVersionExA(&vi) && vi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS))
|
||||||
|
{
|
||||||
|
// Win9x/ME
|
||||||
|
int fd = fileno(file);
|
||||||
|
HANDLE fh = (HANDLE)_get_osfhandle(fd);
|
||||||
|
FlushFileBuffers(fh);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /*MORK_WIN*/
|
||||||
|
|
||||||
|
|
||||||
//3456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789
|
//3456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user