#include <atalk/util.h>
#include <atalk/logger.h>
#include <atalk/ea.h>
-
-#ifndef ENOATTR
-#define ENOATTR ENODATA
-#endif
+#include <atalk/compat.h>
/******** Solaris EA helper function prototypes ********/
#ifdef HAVE_ATTROPEN
#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);
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;
#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);
/* 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;
{
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;
{
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;
}
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;
}
}