[pypy-commit] pypy py3k: more osx (10.9?) translation fixes
pjenvey
pypy.commits at gmail.com
Mon May 23 16:58:54 EDT 2016
Author: Philip Jenvey <pjenvey at underboss.org>
Branch: py3k
Changeset: r84641:df3f5fb80ba0
Date: 2016-05-23 13:47 -0700
http://bitbucket.org/pypy/pypy/changeset/df3f5fb80ba0/
Log: more osx (10.9?) translation fixes
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
@@ -585,12 +585,13 @@
raise argument_unavailable(space, "access", "effective_ids")
try:
- if dir_fd == DEFAULT_DIR_FD and follow_symlinks and not effective_ids:
- ok = dispatch_filename(rposix.access)(space, w_path, mode)
- else:
+ if (rposix.HAVE_FACCESSAT and
+ dir_fd != DEFAULT_DIR_FD or not follow_symlinks or effective_ids):
path = space.fsencode_w(w_path)
ok = rposix.faccessat(path, mode,
dir_fd, effective_ids, follow_symlinks)
+ else:
+ ok = dispatch_filename(rposix.access)(space, w_path, mode)
except OSError as e:
raise wrap_oserror2(space, e, w_path)
else:
@@ -635,11 +636,11 @@
dir_fd may not be implemented on your platform.
If it is unavailable, using it will raise a NotImplementedError."""
try:
- if dir_fd == DEFAULT_DIR_FD:
- dispatch_filename(rposix.unlink)(space, w_path)
- else:
+ if rposix.HAVE_UNLINKAT and dir_fd != DEFAULT_DIR_FD:
path = space.fsencode_w(w_path)
rposix.unlinkat(path, dir_fd, removedir=False)
+ else:
+ dispatch_filename(rposix.unlink)(space, w_path)
except OSError as e:
raise wrap_oserror2(space, e, w_path)
@@ -654,11 +655,11 @@
dir_fd may not be implemented on your platform.
If it is unavailable, using it will raise a NotImplementedError."""
try:
- if dir_fd == DEFAULT_DIR_FD:
- dispatch_filename(rposix.unlink)(space, w_path)
- else:
+ if rposix.HAVE_UNLINKAT and dir_fd != DEFAULT_DIR_FD:
path = space.fsencode_w(w_path)
rposix.unlinkat(path, dir_fd, removedir=False)
+ else:
+ dispatch_filename(rposix.unlink)(space, w_path)
except OSError as e:
raise wrap_oserror2(space, e, w_path)
@@ -721,11 +722,11 @@
The mode argument is ignored on Windows."""
try:
- if dir_fd == DEFAULT_DIR_FD:
- dispatch_filename(rposix.mkdir)(space, w_path, mode)
- else:
+ if rposix.HAVE_MKDIRAT and dir_fd != DEFAULT_DIR_FD:
path = space.fsencode_w(w_path)
rposix.mkdirat(path, mode, dir_fd)
+ else:
+ dispatch_filename(rposix.mkdir)(space, w_path, mode)
except OSError as e:
raise wrap_oserror2(space, e, w_path)
@@ -976,7 +977,8 @@
src_dir_fd and dst_dir_fd, may not be implemented on your platform.
If they are unavailable, using them will raise a NotImplementedError."""
try:
- if (src_dir_fd != DEFAULT_DIR_FD or dst_dir_fd != DEFAULT_DIR_FD):
+ if (rposix.HAVE_RENAMEAT and
+ (src_dir_fd != DEFAULT_DIR_FD or dst_dir_fd != DEFAULT_DIR_FD)):
src = space.fsencode_w(w_src)
dst = space.fsencode_w(w_dst)
rposix.renameat(src, dst, src_dir_fd, dst_dir_fd)
@@ -999,7 +1001,8 @@
src_dir_fd and dst_dir_fd, may not be implemented on your platform.
If they are unavailable, using them will raise a NotImplementedError."""
try:
- if (src_dir_fd != DEFAULT_DIR_FD or dst_dir_fd != DEFAULT_DIR_FD):
+ if (rposix.HAVE_RENAMEAT and
+ (src_dir_fd != DEFAULT_DIR_FD or dst_dir_fd != DEFAULT_DIR_FD)):
src = space.fsencode_w(w_src)
dst = space.fsencode_w(w_dst)
rposix.renameat(src, dst, src_dir_fd, dst_dir_fd)
@@ -1110,8 +1113,9 @@
platform. If they are unavailable, using them will raise a
NotImplementedError."""
try:
- if (src_dir_fd != DEFAULT_DIR_FD or dst_dir_fd != DEFAULT_DIR_FD
- or not follow_symlinks):
+ if (rposix.HAVE_LINKAT and
+ (src_dir_fd != DEFAULT_DIR_FD or dst_dir_fd != DEFAULT_DIR_FD
+ or not follow_symlinks)):
rposix.linkat(src, dst, src_dir_fd, dst_dir_fd, follow_symlinks)
else:
rposix.link(src, dst)
More information about the pypy-commit
mailing list