Author: Ronan Lamy <ronan.l...@gmail.com> Branch: follow_symlinks Changeset: r83686:33cd62260a0c Date: 2016-04-15 16:25 +0100 http://bitbucket.org/pypy/pypy/changeset/33cd62260a0c/
Log: Allow fd in os.pathconf() diff --git a/pypy/module/posix/interp_posix.py b/pypy/module/posix/interp_posix.py --- a/pypy/module/posix/interp_posix.py +++ b/pypy/module/posix/interp_posix.py @@ -1853,13 +1853,19 @@ raise wrap_oserror(space, e) return space.wrap(res) -@unwrap_spec(path='str0') +@unwrap_spec(path=path_or_fd(allow_fd=hasattr(os, 'fpathconf'))) def pathconf(space, path, w_name): num = confname_w(space, w_name, os.pathconf_names) - try: - res = os.pathconf(path, num) - except OSError, e: - raise wrap_oserror(space, e) + if path.as_fd != -1: + try: + res = os.fpathconf(path.as_fd, num) + except OSError, e: + raise wrap_oserror(space, e) + else: + try: + res = os.pathconf(path.as_bytes, num) + except OSError, e: + raise wrap_oserror2(space, e, path.w_path) return space.wrap(res) def confstr(space, w_name): _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit