3
0
Fork 0

+ windows large file support fix

small_fixes
kelson42 16 years ago
parent 2c7c62dd3a
commit db45abe6a3

@ -107,7 +107,12 @@ namespace zim
#endif
typedef uint32_t size_type;
#ifdef _WIN32
typedef __int64 offset_type;
#else
typedef uint64_t offset_type;
#endif
enum CompressionType
{

@ -53,6 +53,9 @@ namespace zim
#ifdef HAVE_STAT64
struct stat64 st;
int ret = ::stat64(fname, &st);
#elif _WIN32
struct __stat64 st;
int ret = ::_stat64(fname, &st);
#else
struct stat st;
int ret = ::stat(fname, &st);

@ -25,13 +25,13 @@
#include <errno.h>
#include <string.h>
#include <fcntl.h>
//#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#ifdef _WIN32
#include <io.h>
int _fmode = _O_BINARY;
#define _LARGEFILE64_SOURCE
#endif
log_define("zim.fstream")
@ -95,9 +95,12 @@ void streambuf::seekg(offset_type off)
setg(0, 0, 0);
#ifdef HAVE_LSEEK64
off64_t ret = ::lseek64(fd, off, SEEK_SET);
#elif _WIN32
offset_type ret = ::_lseeki64(fd, off, SEEK_SET);
#else
off_t ret = ::lseek(fd, off, SEEK_SET);
#endif
if (ret < 0)
{
std::ostringstream msg;

Loading…
Cancel
Save