Selaa lähdekoodia

Merge pull request #3951 from ThomasWaldmann/fix-xattr-ctypes-1.0

Fix xattr ctypes (1.0 backport)
TW 7 vuotta sitten
vanhempi
sitoutus
65c5ae7e49
1 muutettua tiedostoa jossa 7 lisäystä ja 1 poistoa
  1. 7 1
      borg/xattr.py

+ 7 - 1
borg/xattr.py

@@ -182,14 +182,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)
@@ -238,7 +244,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