From b4636a4e9e9ea69e0000a2f3301cec7f446328a6 Mon Sep 17 00:00:00 2001 From: Petr Salinger Date: Fri, 5 Jun 2009 18:45:33 +0000 Subject: Build fix for GNU/kFreeBSD On Linux, ENOATTR aliases to ENODATA. On other operating systems like Irix and BSD*, ENOATTR is a separate error number. --- getfattr/getfattr.c | 3 +++ setfattr/setfattr.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/getfattr/getfattr.c b/getfattr/getfattr.c index db9121a..5ec7f00 100644 --- a/getfattr/getfattr.c +++ b/getfattr/getfattr.c @@ -91,8 +91,11 @@ int do_listxattr(const char *path, char *list, size_t size) const char *strerror_ea(int err) { +#ifdef __linux__ + /* The Linux kernel does not define ENOATTR, but maps it to ENODATA. */ if (err == ENODATA) return _("No such attribute"); +#endif return strerror(err); } diff --git a/setfattr/setfattr.c b/setfattr/setfattr.c index 96bade2..0fe1927 100644 --- a/setfattr/setfattr.c +++ b/setfattr/setfattr.c @@ -64,8 +64,11 @@ int base64_digit(char c); const char *strerror_ea(int err) { +#ifdef __linux__ + /* The Linux kernel does not define ENOATTR, but maps it to ENODATA. */ if (err == ENODATA) return _("No such attribute"); +#endif return strerror(err); } -- cgit v1.2.1