summaryrefslogtreecommitdiffstats
path: root/config.tests/unix/largefile
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2009-03-23 09:34:13 (GMT)
committerSimon Hausmann <simon.hausmann@nokia.com>2009-03-23 09:34:13 (GMT)
commit67ad0519fd165acee4a4d2a94fa502e9e4847bd0 (patch)
tree1dbf50b3dff8d5ca7e9344733968c72704eb15ff /config.tests/unix/largefile
downloadQt-67ad0519fd165acee4a4d2a94fa502e9e4847bd0.zip
Qt-67ad0519fd165acee4a4d2a94fa502e9e4847bd0.tar.gz
Qt-67ad0519fd165acee4a4d2a94fa502e9e4847bd0.tar.bz2
Long live Qt!
Diffstat (limited to 'config.tests/unix/largefile')
-rw-r--r--config.tests/unix/largefile/largefile.pro3
-rw-r--r--config.tests/unix/largefile/largefiletest.cpp32
2 files changed, 35 insertions, 0 deletions
diff --git a/config.tests/unix/largefile/largefile.pro b/config.tests/unix/largefile/largefile.pro
new file mode 100644
index 0000000..d7affc6
--- /dev/null
+++ b/config.tests/unix/largefile/largefile.pro
@@ -0,0 +1,3 @@
+SOURCES=largefiletest.cpp
+CONFIG-=qt dylib
+mac:CONFIG -= app_bundle
diff --git a/config.tests/unix/largefile/largefiletest.cpp b/config.tests/unix/largefile/largefiletest.cpp
new file mode 100644
index 0000000..ed04e7a
--- /dev/null
+++ b/config.tests/unix/largefile/largefiletest.cpp
@@ -0,0 +1,32 @@
+/* Sample program for configure to test Large File support on target
+platforms.
+*/
+
+#define _LARGEFILE_SOURCE
+#define _LARGE_FILES
+#define _FILE_OFFSET_BITS 64
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <assert.h>
+#include <stdio.h>
+
+int main( int, char **argv )
+{
+// check that off_t can hold 2^63 - 1 and perform basic operations...
+#define OFF_T_64 (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ if (OFF_T_64 % 2147483647 != 1)
+ return 1;
+
+ // stat breaks on SCO OpenServer
+ struct stat buf;
+ stat( argv[0], &buf );
+ if (!S_ISREG(buf.st_mode))
+ return 2;
+
+ FILE *file = fopen( argv[0], "r" );
+ off_t offset = ftello( file );
+ fseek( file, offset, SEEK_CUR );
+ fclose( file );
+ return 0;
+}