Assume a 64-bit start and len if O_LARGEFILE is available.
diff --git a/Lib/test/test_fcntl.py b/Lib/test/test_fcntl.py
index a64a5e1..e446249 100755
--- a/Lib/test/test_fcntl.py
+++ b/Lib/test/test_fcntl.py
@@ -9,6 +9,13 @@
filename = TESTFN
+try:
+ os.O_LARGEFILE
+except AttributeError:
+ start_len = "ll"
+else:
+ start_len = "qq"
+
if sys.platform in ('netbsd1', 'Darwin1.2', 'darwin1',
'freebsd2', 'freebsd3', 'freebsd4', 'freebsd5',
'bsdos2', 'bsdos3', 'bsdos4',
@@ -17,7 +24,7 @@
elif sys.platform in ['aix3', 'aix4', 'hp-uxB', 'unixware7']:
lockdata = struct.pack('hhlllii', fcntl.F_WRLCK, 0, 0, 0, 0, 0, 0)
else:
- lockdata = struct.pack('hhllhh', fcntl.F_WRLCK, 0, 0, 0, 0, 0)
+ lockdata = struct.pack('hh'+start_len+'hh', fcntl.F_WRLCK, 0, 0, 0, 0, 0)
if verbose:
print 'struct.pack: ', `lockdata`