[pypy-commit] pypy use-file-star-for-file: avoid macro=True

bdkearns noreply at buildbot.pypy.org
Sat Sep 13 17:18:20 CEST 2014


Author: Brian Kearns <bdkearns at gmail.com>
Branch: use-file-star-for-file
Changeset: r73522:5853c33ae109
Date: 2014-09-13 15:17 +0000
http://bitbucket.org/pypy/pypy/changeset/5853c33ae109/

Log:	avoid macro=True

diff --git a/rpython/rlib/rfile.py b/rpython/rlib/rfile.py
--- a/rpython/rlib/rfile.py
+++ b/rpython/rlib/rfile.py
@@ -3,7 +3,7 @@
 python builtin open()
 """
 
-import os, stat, errno
+import os, sys, stat, errno
 from rpython.rlib import rposix
 from rpython.rlib.objectmodel import enforceargs
 from rpython.rlib.rarithmetic import intmask
@@ -112,13 +112,17 @@
 
 c_ftruncate = llexternal(ftruncate, [rffi.INT, OFF_T], rffi.INT, macro=True)
 
-c_fseek = llexternal('fseeko', [FILEP, OFF_T, rffi.INT], rffi.INT, macro=True)
-c_ftell = llexternal('ftello', [FILEP], OFF_T, macro=True)
-if os.name == 'nt':
+if os.name != 'nt':
+    assert rffi.sizeof(OFF_T) == 8
+    if sys.platform.startswith('linux'):
+        c_fseek = llexternal('fseeko64', [FILEP, OFF_T, rffi.INT], rffi.INT)
+        c_ftell = llexternal('ftello64', [FILEP], OFF_T)
+    else:
+        c_fseek = llexternal('fseeko', [FILEP, OFF_T, rffi.INT], rffi.INT)
+        c_ftell = llexternal('ftello', [FILEP], OFF_T)
+else:
     c_fseek = llexternal('_fseeki64', [FILEP, rffi.LONGLONG, rffi.INT], rffi.INT)
     c_ftell = llexternal('_ftelli64', [FILEP], rffi.LONGLONG)
-else:
-    assert rffi.sizeof(OFF_T) == 8
 
 c_fileno = llexternal(fileno, [FILEP], rffi.INT, releasegil=False)
 c_feof = llexternal('feof', [FILEP], rffi.INT, releasegil=False)


More information about the pypy-commit mailing list