Eina: Disable xattr calls when xattr api is not available
authorkakaroto <kakaroto@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 16 Sep 2011 07:08:37 +0000 (07:08 +0000)
committerkakaroto <kakaroto@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 16 Sep 2011 07:08:37 +0000 (07:08 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@63429 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/eina_xattr.c

index f7e0ddf..a3aa05f 100644 (file)
@@ -119,6 +119,7 @@ eina_xattr_get(const char *file, const char *attribute, ssize_t *size)
    EINA_SAFETY_ON_NULL_RETURN_VAL(attribute, NULL);
    EINA_SAFETY_ON_TRUE_RETURN_VAL(!size, NULL);
 
+#ifdef HAVE_XATTR
    *size = getxattr(file, attribute, NULL, 0);
    /* Size should be less than 2MB (already huge in my opinion) */
    if (!(*size > 0 && *size < 2 * 1024 * 1024))
@@ -135,6 +136,7 @@ eina_xattr_get(const char *file, const char *attribute, ssize_t *size)
 
  on_error:
    free(ret);
+#endif
    *size = 0;
    return NULL;
 }
@@ -149,6 +151,7 @@ eina_xattr_set(const char *file, const char *attribute, const void *data, ssize_
    EINA_SAFETY_ON_NULL_RETURN_VAL(data, EINA_FALSE);
    EINA_SAFETY_ON_TRUE_RETURN_VAL(!(length > 0 && length < 2 * 1024 * 1024), EINA_FALSE);
 
+#ifdef HAVE_XATTR
    switch (flags)
      {
      case EINA_XATTR_INSERT: iflags = 0; break;
@@ -161,6 +164,9 @@ eina_xattr_set(const char *file, const char *attribute, const void *data, ssize_
    if (setxattr(file, attribute, data, length, iflags))
      return EINA_FALSE;
    return EINA_TRUE;
+#else
+   return EINA_FALSE;
+#endif
 }
 
 EAPI Eina_Bool