static int iconv_removexattr(const char *path, const char *name) { struct iconv *ic = iconv_get(); char *newpath; int err = iconv_convpath(ic, path, &newpath, 0); if (!err) { err = fuse_fs_removexattr(ic->next, newpath, name); free(newpath); } return err; }
static int subdir_removexattr(const char *path, const char *name) { struct subdir *d = subdir_get(); char *newpath; int err = subdir_addpath(d, path, &newpath); if (!err) { err = fuse_fs_removexattr(d->next, newpath, name); free(newpath); } return err; }
static int volicon_removexattr(const char *path, const char *name) { ERROR_IF_MAGIC_FILE(path, EPERM); if ((strcmp(path, VOLICON_ROOT_MAGIC_PATH) == 0) && (strcmp(name, XATTR_FINDERINFO_NAME) == 0)) { return -EACCES; } return fuse_fs_removexattr(volicon_get()->next, path, name); }