summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Salinger <Petr.Salinger@seznam.cz>2009-06-05 18:45:33 +0000
committerAndreas Gruenbacher <agruen@suse.de>2009-06-19 17:35:25 +0200
commitb4636a4e9e9ea69e0000a2f3301cec7f446328a6 (patch)
treee488463b0d8bdef14c2e9c82d3155c609895301f
parent08b74fdd6daa4fc496dadf6915c40a4f49b0e507 (diff)
downloadattr-b4636a4e9e9ea69e0000a2f3301cec7f446328a6.tar.gz
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.
-rw-r--r--getfattr/getfattr.c3
-rw-r--r--setfattr/setfattr.c3
2 files changed, 6 insertions, 0 deletions
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);
}