Whamcloud - gitweb
libext2fs: make sure ismounted.c explicitly pulls in <sys/types.h>
authorTheodore Ts'o <tytso@mit.edu>
Mon, 21 Mar 2016 17:09:54 +0000 (13:09 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 21 Mar 2016 17:09:54 +0000 (13:09 -0400)
The major() cpp macro is defined as requiring sys/types.h to be
included with _BSD_SOURCE defined.  However, in older glibc's this
hasn't been strictly required and the stdlib.h header file included
sys/types.h implicitly.  Fix this so that more aggressive
distributions run into build errors.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
in with andchanges. Lines starting

lib/ext2fs/ismounted.c

index 6c6ecff..6e682ad 100644 (file)
@@ -9,6 +9,14 @@
  * %End-Header%
  */
 
+/* define BSD_SOURCE to make sure we get the major() macro */
+#ifndef _BSD_SOURCE
+#define _BSD_SOURCE
+#endif
+#ifndef _DEFAULT_SOURCE
+#define _DEFAULT_SOURCE        /* since glibc 2.20 _SVID_SOURCE is deprecated */
+#endif
+
 #include "config.h"
 #include <stdio.h>
 #if HAVE_UNISTD_H
@@ -38,6 +46,9 @@
 #endif /* HAVE_GETMNTINFO */
 #include <string.h>
 #include <sys/stat.h>
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
 
 #include "ext2_fs.h"
 #include "ext2fs.h"