rendered paste bodyIndex: sys-xattr.c
===================================================================
--- sys-xattr.c (revision 43993)
+++ sys-xattr.c (working copy)
@@ -31,9 +31,14 @@
if (Mono_Posix_FromXattrFlags (flags, &_flags) == -1)
return -1;
+#if __APPLE__
+ return setxattr (path, name, value, size, 0, _flags);
+#else
return setxattr (path, name, value, size, _flags);
+#endif
}
+#if !__APPLE__
gint32
Mono_Posix_Syscall_lsetxattr (const char *path, const char *name, char *value, mph_size_t size, gint32 flags)
{
@@ -45,6 +50,7 @@
return lsetxattr (path, name, value, size, _flags);
}
+#endif
gint32
Mono_Posix_Syscall_fsetxattr (int fd, const char *name, char *value, mph_size_t size, gint32 flags)
@@ -55,49 +61,74 @@
if (Mono_Posix_FromXattrFlags (flags, &_flags) == -1)
return -1;
+#if __APPLE__
+ return fsetxattr (fd, name, value, (size_t) size, 0, _flags);
+#else
return lsetxattr (fd, name, value, (size_t) size, _flags);
+#endif
+
}
mph_ssize_t
Mono_Posix_Syscall_getxattr (const char *path, const char *name, void *value, mph_size_t size)
{
mph_return_if_size_t_overflow (size);
+#if __APPLE__
+ return getxattr (path, name, value, (size_t) size, 0, 0);
+#else
return getxattr (path, name, value, (size_t) size);
+#endif
}
+#if !__APPLE__
mph_ssize_t
Mono_Posix_Syscall_lgetxattr (const char *path, const char *name, void *value, mph_size_t size)
{
mph_return_if_size_t_overflow (size);
return lgetxattr (path, name, value, (size_t) size);
}
+#endif
mph_ssize_t
Mono_Posix_Syscall_fgetxattr (int fd, const char *name, void *value, mph_size_t size)
{
mph_return_if_size_t_overflow (size);
+#if __APPLE__
+ return fgetxattr (fd, name, value, (size_t) size, 0, 0);
+#else
return fgetxattr (fd, name, value, (size_t) size);
+#endif
}
mph_ssize_t
Mono_Posix_Syscall_listxattr (const char *path, char *list, mph_size_t size)
{
mph_return_if_size_t_overflow (size);
+#if __APPLE__
+ return listxattr (path, list, (size_t) size, 0);
+#else
return listxattr (path, list, (size_t) size);
+#endif
}
+#if !__APPLE__
mph_ssize_t
Mono_Posix_Syscall_llistxattr (const char *path, char *list, mph_size_t size)
{
mph_return_if_size_t_overflow (size);
return llistxattr (path, list, (size_t) size);
}
+#endif
mph_ssize_t
Mono_Posix_Syscall_flistxattr (int fd, char *list, mph_size_t size)
{
mph_return_if_size_t_overflow (size);
+#if __APPLE__
+ return flistxattr (fd, list, (size_t) size, 0);
+#else
return flistxattr (fd, list, (size_t) size);
+#endif
}
G_END_DECLS