lib/replace: work around an API conflict between ncurses and XFS xattr API
authorRalph Boehme <slow@samba.org>
Thu, 12 Dec 2019 09:46:21 +0000 (10:46 +0100)
committerJeremy Allison <jra@samba.org>
Thu, 12 Dec 2019 20:22:51 +0000 (20:22 +0000)
Compile error:

  [4530/4693] Compiling source3/utils/regedit_list.c
  In file included from ../../source3/utils/regedit_list.h:24,
                   from ../../source3/utils/regedit_list.c:20:
  /usr/include/curses.h:611:28: error: conflicting types for ‘attr_get’
    611 | extern NCURSES_EXPORT(int) attr_get (attr_t *, NCURSES_PAIRS_T *, void *); /* generated */
        |                            ^~~~~~~~
  compilation terminated due to -Wfatal-errors.

Both ncurses and XFS xattr API provide a get_attr() function. As a workaround
avoid including <sys|attr/attributes.h> if <attr|sys/xattr.h> is present.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Dec 12 20:22:51 UTC 2019 on sn-devel-184

lib/replace/system/filesys.h

index 1a8cb68103d22e3f83b25a13a2860f9cd8c79419..afde4eacb39f4b492ab9d0cd8c14c548e2fc04f0 100644 (file)
 #include <sys/uio.h>
 #endif
 
-#if defined(HAVE_SYS_ATTRIBUTES_H)
-#include <sys/attributes.h>
-#elif defined(HAVE_ATTR_ATTRIBUTES_H)
-#include <attr/attributes.h>
-#endif
-
 /* mutually exclusive (SuSE 8.2) */
 #if defined(HAVE_ATTR_XATTR_H)
 #include <attr/xattr.h>
 #elif defined(HAVE_SYS_XATTR_H)
 #include <sys/xattr.h>
+#elif defined(HAVE_SYS_ATTRIBUTES_H)
+#include <sys/attributes.h>
+#elif defined(HAVE_ATTR_ATTRIBUTES_H)
+#include <attr/attributes.h>
 #endif
 
 #ifdef HAVE_SYS_EA_H