Author: Ronan Lamy <[email protected]>
Branch: release-pypy3.5-v5.9.x
Changeset: r93605:f1ac52de24a1
Date: 2017-12-29 20:06 +0100
http://bitbucket.org/pypy/pypy/changeset/f1ac52de24a1/

Log:    Fix err.filename when *xattr() functions raise an OSError (grafted
        from 49d834e68cbe3efcdd90011deda203ac65571fa1)

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
@@ -2304,13 +2304,13 @@
         try:
             result = rposix.fgetxattr(path.as_fd, attribute.as_bytes)
         except OSError as e:
-            raise wrap_oserror(space, e, path.as_bytes)
+            raise wrap_oserror2(space, e, path.w_path)
     else:
         try:
             result = rposix.getxattr(path.as_bytes, attribute.as_bytes,
                 follow_symlinks=follow_symlinks)
         except OSError as e:
-            raise wrap_oserror(space, e, path.as_bytes)
+            raise wrap_oserror2(space, e, path.w_path)
     return space.newbytes(result)
 
 @unwrap_spec(path=path_or_fd(), attribute=path_or_fd(allow_fd=False),
@@ -2333,13 +2333,13 @@
         try:
             rposix.fsetxattr(path.as_fd, attribute.as_bytes, value, flags)
         except OSError as e:
-            raise wrap_oserror(space, e, path.as_bytes)
+            raise wrap_oserror2(space, e, path.w_path)
     else:
         try:
             rposix.setxattr(path.as_bytes, attribute.as_bytes, value, flags,
                 follow_symlinks=follow_symlinks)
         except OSError as e:
-            raise wrap_oserror(space, e, path.as_bytes)
+            raise wrap_oserror2(space, e, path.w_path)
 
 
 @unwrap_spec(path=path_or_fd(), attribute=path_or_fd(allow_fd=False),
@@ -2359,13 +2359,13 @@
         try:
             rposix.fremovexattr(path.as_fd, attribute.as_bytes)
         except OSError as e:
-            raise wrap_oserror(space, e, path.as_bytes)
+            raise wrap_oserror2(space, e, path.w_path)
     else:
         try:
             rposix.removexattr(path.as_bytes, attribute.as_bytes,
                 follow_symlinks=follow_symlinks)
         except OSError as e:
-            raise wrap_oserror(space, e, path.as_bytes)
+            raise wrap_oserror2(space, e, path.w_path)
 
 
 @unwrap_spec(path=path_or_fd(), follow_symlinks=bool)
@@ -2386,12 +2386,12 @@
         try:
             result = rposix.flistxattr(path.as_fd)
         except OSError as e:
-            raise wrap_oserror(space, e, eintr_retry=False)
+            raise wrap_oserror2(space, e, path.w_path)
     else:
         try:
             result = rposix.listxattr(path.as_bytes, follow_symlinks)
         except OSError as e:
-            raise wrap_oserror(space, e, path.as_bytes)
+            raise wrap_oserror2(space, e, path.w_path)
     return space.newlist([space.newfilename(attr) for attr in result])
 
 
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to