X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libatalk%2Fvfs%2Fextattr.c;h=0115c1534bca209cb9b43e82ed2ba32a8a93695b;hb=be96d276348da0a7e66eeec844b306e8a5fa8fac;hp=35587a6ede683236ba727253df8ffe0bcf033b7e;hpb=6ba00099278ecf64c81aaa6211059f29dbb5efdf;p=netatalk.git diff --git a/libatalk/vfs/extattr.c b/libatalk/vfs/extattr.c index 35587a6e..0115c153 100644 --- a/libatalk/vfs/extattr.c +++ b/libatalk/vfs/extattr.c @@ -59,10 +59,7 @@ #include #include #include - -#ifndef ENOATTR -#define ENOATTR ENODATA -#endif +#include /******** Solaris EA helper function prototypes ********/ #ifdef HAVE_ATTROPEN @@ -149,8 +146,10 @@ ssize_t sys_getxattr (const char *path, const char *uname, void *value, size_t s #endif } -ssize_t sys_fgetxattr (int filedes, const char *name, void *value, size_t size) +ssize_t sys_fgetxattr (int filedes, const char *uname, void *value, size_t size) { + const char *name = prefix(uname); + #if defined(HAVE_FGETXATTR) #ifndef XATTR_ADD_OPT return fgetxattr(filedes, name, value, size); @@ -176,7 +175,8 @@ ssize_t sys_fgetxattr (int filedes, const char *name, void *value, size_t size) return retval; } - DEBUG(10,("sys_fgetxattr: extattr_get_fd() failed with: %s\n", strerror(errno))); + LOG(log_debug, logtype_default, "sys_fgetxattr: extattr_get_fd(): %s", + strerror(errno))); return -1; #elif defined(HAVE_ATTR_GETF) int retval, flags = 0; @@ -630,8 +630,10 @@ int sys_setxattr (const char *path, const char *uname, const void *value, size_t #endif } -int sys_fsetxattr (int filedes, const char *name, const void *value, size_t size, int flags) +int sys_fsetxattr (int filedes, const char *uname, const void *value, size_t size, int flags) { + const char *name = prefix(uname); + #if defined(HAVE_FSETXATTR) #ifndef XATTR_ADD_OPT return fsetxattr(filedes, name, value, size, flags); @@ -659,7 +661,7 @@ int sys_fsetxattr (int filedes, const char *name, const void *value, size_t size /* Ignore other errors */ } else { - /* CREATE attribute, that already exists */ + log_error, logtype_default /* CREATE attribute, that already exists */ if (flags & XATTR_CREATE) { errno = EEXIST; return -1; @@ -841,7 +843,8 @@ static int solaris_attropen(const char *path, const char *attrpath, int oflag, m { int filedes = attropen(path, attrpath, oflag, mode); if (filedes == -1) { - LOG(log_maxdebug, logtype_default, "attropen FAILED: path: %s, name: %s, errno: %s\n",path,attrpath,strerror(errno)); + LOG(log_maxdebug, logtype_default, "attropen FAILED: path: %s, name: %s, errno: %s", + path, attrpath, strerror(errno)); errno = ENOATTR; } return filedes; @@ -851,7 +854,8 @@ static int solaris_openat(int fildes, const char *path, int oflag, mode_t mode) { int filedes = openat(fildes, path, oflag, mode); if (filedes == -1) { - LOG(log_maxdebug, logtype_default, "openat FAILED: fd: %s, path: %s, errno: %s\n",filedes,path,strerror(errno)); + LOG(log_maxdebug, logtype_default, "openat FAILED: fd: %d, path: %s, errno: %s", + filedes, path, strerror(errno)); } return filedes; } @@ -861,7 +865,7 @@ static int solaris_write_xattr(int attrfd, const char *value, size_t size) if ((ftruncate(attrfd, 0) == 0) && (write(attrfd, value, size) == size)) { return 0; } else { - LOG(log_maxdebug, logtype_default, "solaris_write_xattr FAILED!\n"); + LOG(log_maxdebug, logtype_default, "solaris_write_xattr FAILED!"); return -1; } }