From 64c9e52d2704334f4f68a5e7393cd15bf96a9c8b Mon Sep 17 00:00:00 2001 From: Kyle Ambroff-Kao Date: Sun, 15 Sep 2019 14:45:20 -0700 Subject: [PATCH] Fix support for large files on Haiku --- bon_io.cpp | 2 +- configure.in | 2 ++ port.h.in | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bon_io.cpp b/bon_io.cpp index bb482f0..4a1c3a6 100644 --- a/bon_io.cpp +++ b/bon_io.cpp @@ -292,7 +292,7 @@ int CFileOp::m_open(CPCCHAR base_name, bool create) else { flags = O_RDWR; -#ifdef _LARGEFILE64_SOURCE +#if defined(_LARGEFILE64_SOURCE) && !defined(__HAIKU__) flags |= O_LARGEFILE; #endif } diff --git a/configure.in b/configure.in index 4e75dd2..715819c 100644 --- a/configure.in +++ b/configure.in @@ -94,6 +94,7 @@ AC_TRY_RUN([#ifndef _LARGEFILE64_SOURCE #include int main () { +#ifndef __HAIKU__ int fd; off64_t i = off64_t(1) << 32 + 1; const char * const name = "test.2g"; @@ -117,6 +118,7 @@ int main () { exit(1); } close(fd); +#endif return 0; }], large_file="yes") if [[ -n "$large_file" ]]; then diff --git a/port.h.in b/port.h.in index 70d748e..5cacfbc 100644 --- a/port.h.in +++ b/port.h.in @@ -23,7 +23,7 @@ // UNIX here typedef struct timeval TIMEVAL_TYPE; -#ifdef _LARGEFILE64_SOURCE +#if defined(_LARGEFILE64_SOURCE) && !defined(__HAIKU__) #define OFF_TYPE off64_t #define file_lseek lseek64 #define file_creat creat64 -- 2.23.0