--- samba/source/lib/system.c.orig 2004-04-03 23:37:35.000000000 -0800 +++ samba/source/lib/system.c 2004-09-16 16:50:10.000000000 -0700 @@ -1307,7 +1307,13 @@ ssize_t sys_getxattr (const char *path, const char *name, void *value, size_t size) { #if defined(HAVE_GETXATTR) + #if DARWINOS + int options = 0; + + return getxattr(path, name, value, size, 0, options); + #else return getxattr(path, name, value, size); + #endif #elif defined(HAVE_ATTR_GET) int retval, flags = 0; int valuelength = (int)size; @@ -1347,7 +1353,13 @@ ssize_t sys_fgetxattr (int filedes, const char *name, void *value, size_t size) { #if defined(HAVE_FGETXATTR) + #if DARWINOS + int options = 0; + + return fgetxattr(filedes, name, value, size, 0, options); + #else return fgetxattr(filedes, name, value, size); + #endif #elif defined(HAVE_ATTR_GETF) int retval, flags = 0; int valuelength = (int)size; @@ -1435,7 +1447,12 @@ ssize_t sys_listxattr (const char *path, char *list, size_t size) { #if defined(HAVE_LISTXATTR) + #if DARWINOS + int options = 0; + return listxattr(path, list, size, options); + #else return listxattr(path, list, size); + #endif #elif defined(HAVE_ATTR_LIST) && defined(HAVE_SYS_ATTRIBUTES_H) return irix_attr_list(path, 0, list, size, 0); #else @@ -1459,7 +1476,12 @@ ssize_t sys_flistxattr (int filedes, char *list, size_t size) { #if defined(HAVE_FLISTXATTR) + #if DARWINOS + int options = 0; + return flistxattr(filedes, list, size, options); + #else return flistxattr(filedes, list, size); + #endif #elif defined(HAVE_ATTR_LISTF) return irix_attr_list(NULL, filedes, list, size, 0); #else @@ -1471,7 +1493,12 @@ int sys_removexattr (const char *path, const char *name) { #if defined(HAVE_REMOVEXATTR) + #if DARWINOS + int options = 0; + return removexattr(path, name, options); + #else return removexattr(path, name); + #endif #elif defined(HAVE_ATTR_REMOVE) int flags = 0; char *attrname = strchr(name,'.') +1; @@ -1505,7 +1532,12 @@ int sys_fremovexattr (int filedes, const char *name) { #if defined(HAVE_FREMOVEXATTR) + #if DARWINOS + int options = 0; + return fremovexattr(filedes, name, options); + #else return fremovexattr(filedes, name); + #endif #elif defined(HAVE_ATTR_REMOVEF) int flags = 0; char *attrname = strchr(name,'.') +1; @@ -1527,7 +1559,13 @@ int sys_setxattr (const char *path, const char *name, const void *value, size_t size, int flags) { #if defined(HAVE_SETXATTR) + #if DARWINOS + int options = 0; + + return setxattr(path, name, value, size, 0, options); + #else return setxattr(path, name, value, size, flags); + #endif #elif defined(HAVE_ATTR_SET) int myflags = 0; char *attrname = strchr(name,'.') +1; @@ -1565,7 +1603,13 @@ int sys_fsetxattr (int filedes, const char *name, const void *value, size_t size, int flags) { #if defined(HAVE_FSETXATTR) + #if DARWINOS + int options = 0; + + return fsetxattr(filedes, name, value, size, 0, options); + #else return fsetxattr(filedes, name, value, size, flags); + #endif #elif defined(HAVE_ATTR_SETF) int myflags = 0; char *attrname = strchr(name,'.') +1;