Author: Brian Kearns <bdkea...@gmail.com> Branch: use-file-star-for-file Changeset: r73514:9190ab687bde Date: 2014-09-12 13:19 -0700 http://bitbucket.org/pypy/pypy/changeset/9190ab687bde/
Log: fix large seek/tell offsets diff --git a/rpython/rlib/rfile.py b/rpython/rlib/rfile.py --- a/rpython/rlib/rfile.py +++ b/rpython/rlib/rfile.py @@ -112,8 +112,11 @@ c_ftruncate = llexternal(ftruncate, [rffi.INT, OFF_T], rffi.INT, macro=True) -c_fseek = llexternal('fseek', [FILEP, rffi.LONG, rffi.INT], rffi.INT) -c_ftell = llexternal('ftell', [FILEP], rffi.LONG) +c_fseek = llexternal('fseeko', [FILEP, OFF_T, rffi.INT], rffi.INT) +c_ftell = llexternal('ftello', [FILEP], OFF_T) +if os.name == 'nt': + c_fseek = llexternal('_fseeki64', [FILEP, rffi.LONGLONG, rffi.INT], rffi.INT) + c_ftell = llexternal('_ftelli64', [FILEP], rffi.LONGLONG) c_fileno = llexternal(fileno, [FILEP], rffi.INT, releasegil=False) c_feof = llexternal('feof', [FILEP], rffi.INT, releasegil=False) @@ -592,7 +595,7 @@ self._check_closed() self._check_writable() ll_file = self._ll_file - pos = intmask(c_ftell(ll_file)) + pos = c_ftell(ll_file) if pos == -1: c_clearerr(ll_file) raise _from_errno(IOError) @@ -628,7 +631,7 @@ def tell(self): self._check_closed() - res = intmask(c_ftell(self._ll_file)) + res = c_ftell(self._ll_file) if res == -1: c_clearerr(self._ll_file) raise _from_errno(IOError) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit