diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2015-04-24 21:04:39 +0200 |
---|---|---|
committer | Johannes Berg <johannes@sipsolutions.net> | 2015-04-25 11:39:18 +0200 |
commit | 9eb1b4ed4e43ca8fcabf1e6fb45a3df47b7f0d2b (patch) | |
tree | 63bea0bfa57ac53ec804fb88f4dd9c157880269b /xattr | |
parent | ab5d7cb61d03e739dedddf6c5c1235f6d05527f9 (diff) | |
download | xattr-9eb1b4ed4e43ca8fcabf1e6fb45a3df47b7f0d2b.tar.gz |
fix options
The options passed to xattr are internally converted from XATTR_XATTR_*
to XATTR_* with the exception of NOFOLLOW which is in most cases handled
explicitly in the code.
In order to make this work properly, however, the correct constants need
to actually be used in python - that means the XATTR_XATTR_* ones must
be there rather than the OS's XATTR_* ones.
Diffstat (limited to 'xattr')
-rw-r--r-- | xattr/lib.py | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/xattr/lib.py b/xattr/lib.py index 0f29190..d58c7e9 100644 --- a/xattr/lib.py +++ b/xattr/lib.py @@ -5,10 +5,10 @@ import cffi ffi = cffi.FFI() ffi.cdef(""" -#define XATTR_NOFOLLOW ... -#define XATTR_CREATE ... -#define XATTR_REPLACE ... -#define XATTR_NOSECURITY ... +#define XATTR_XATTR_NOFOLLOW ... +#define XATTR_XATTR_CREATE ... +#define XATTR_XATTR_REPLACE ... +#define XATTR_XATTR_NOSECURITY ... #define XATTR_MAXNAMELEN ... ssize_t xattr_getxattr(const char *, const char *, void *, ssize_t, uint32_t, int); @@ -582,25 +582,23 @@ static ssize_t xattr_flistxattr(int fd, char *namebuf, size_t size, int options) #define xattr_fsetxattr fsetxattr #define xattr_listxattr listxattr #define xattr_flistxattr flistxattr + +/* define these for use in python (see below) */ +#define XATTR_XATTR_NOFOLLOW XATTR_NOFOLLOW +#define XATTR_XATTR_CREATE XATTR_CREATE +#define XATTR_XATTR_REPLACE XATTR_REPLACE +#define XATTR_XATTR_NOSECURITY XATTR_NOSECURITY #endif #ifndef XATTR_MAXNAMELEN #define XATTR_MAXNAMELEN 127 #endif - -#ifndef XATTR_NOFOLLOW -#define XATTR_NOFOLLOW 0x0001 -#endif - -#ifndef XATTR_NOSECURITY -#define XATTR_NOSECURITY 0x0008 -#endif """, ext_package='xattr') -XATTR_NOFOLLOW = lib.XATTR_NOFOLLOW -XATTR_CREATE = lib.XATTR_CREATE -XATTR_REPLACE = lib.XATTR_REPLACE -XATTR_NOSECURITY = lib.XATTR_NOSECURITY +XATTR_NOFOLLOW = lib.XATTR_XATTR_NOFOLLOW +XATTR_CREATE = lib.XATTR_XATTR_CREATE +XATTR_REPLACE = lib.XATTR_XATTR_REPLACE +XATTR_NOSECURITY = lib.XATTR_XATTR_NOSECURITY XATTR_MAXNAMELEN = lib.XATTR_MAXNAMELEN XATTR_FINDERINFO_NAME = "com.apple.FinderInfo" |