From 2d37c9d3f9ae4cb2655636e9bb9507259b3f4c0c Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Tue, 3 Jul 2018 22:29:35 +0200 Subject: [PATCH 1/2] xattr: fix darwin flistxattr ctypes prototype --- src/borg/xattr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/borg/xattr.py b/src/borg/xattr.py index c1f331465..12f925275 100644 --- a/src/borg/xattr.py +++ b/src/borg/xattr.py @@ -245,7 +245,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 From 71b02912c9cb7c65f6b8f8c5a231c99db086ace0 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Tue, 3 Jul 2018 22:32:37 +0200 Subject: [PATCH 2/2] xattr: add linux {list,get,set}xattr ctypes prototypes --- src/borg/xattr.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/borg/xattr.py b/src/borg/xattr.py index 12f925275..4d23df943 100644 --- a/src/borg/xattr.py +++ b/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)