Browse Source

Merge pull request #3950 from ThomasWaldmann/fix-xattr-ctypes

Fix xattr ctypes
TW 7 years ago
parent
commit
59ba6f82be
1 changed files with 7 additions and 1 deletions
  1. 7 1
      src/borg/xattr.py

+ 7 - 1
src/borg/xattr.py

@@ -189,14 +189,20 @@ def _setxattr_inner(func, path, name, value):
 
 
 if sys.platform.startswith('linux'):  # pragma: linux only
+    libc.listxattr.argtypes = (c_char_p, c_char_p, c_size_t)
+    libc.listxattr.restype = c_ssize_t
     libc.llistxattr.argtypes = (c_char_p, c_char_p, c_size_t)
     libc.llistxattr.restype = c_ssize_t
     libc.flistxattr.argtypes = (c_int, c_char_p, c_size_t)
     libc.flistxattr.restype = c_ssize_t
+    libc.setxattr.argtypes = (c_char_p, c_char_p, c_char_p, c_size_t, c_int)
+    libc.setxattr.restype = c_int
     libc.lsetxattr.argtypes = (c_char_p, c_char_p, c_char_p, c_size_t, c_int)
     libc.lsetxattr.restype = c_int
     libc.fsetxattr.argtypes = (c_int, c_char_p, c_char_p, c_size_t, c_int)
     libc.fsetxattr.restype = c_int
+    libc.getxattr.argtypes = (c_char_p, c_char_p, c_char_p, c_size_t)
+    libc.getxattr.restype = c_ssize_t
     libc.lgetxattr.argtypes = (c_char_p, c_char_p, c_char_p, c_size_t)
     libc.lgetxattr.restype = c_ssize_t
     libc.fgetxattr.argtypes = (c_int, c_char_p, c_char_p, c_size_t)
@@ -245,7 +251,7 @@ if sys.platform.startswith('linux'):  # pragma: linux only
 elif sys.platform == 'darwin':  # pragma: darwin only
     libc.listxattr.argtypes = (c_char_p, c_char_p, c_size_t, c_int)
     libc.listxattr.restype = c_ssize_t
-    libc.flistxattr.argtypes = (c_int, c_char_p, c_size_t)
+    libc.flistxattr.argtypes = (c_int, c_char_p, c_size_t, c_int)
     libc.flistxattr.restype = c_ssize_t
     libc.setxattr.argtypes = (c_char_p, c_char_p, c_char_p, c_size_t, c_uint32, c_int)
     libc.setxattr.restype = c_int