On OS X systems, the compilation of e2fsprogs fails at subst.c due to a
missing sys/stat.h include:
    subst.c:333:14: error: variable has incomplete type 'struct stat'
            struct stat stbuf;
                        ^
    subst.c:333:9: note: forward declaration of 'struct stat'
            struct stat stbuf;
                   ^
    subst.c:392:8: warning: implicit declaration of function 'fstat' is invalid in C99
          [-Wimplicit-function-declaration]
                            if (fstat(fd, &stbuf) == 0) {
                                ^
    subst.c:438:12: warning: implicit declaration of function 'fchmod' is invalid in C99
          [-Wimplicit-function-declaration]
                                    (void) fchmod(ofd, 0444);
                                           ^
    2 warnings and 1 error generated.
    make[3]: *** [subst.o] Error 1
Declare the nescessary HAVE_SYS_STAT_H macro to include the required header in
order to avoid the undeclared stat structure.
Tested-By: David Thornley <david.thornley@touchstargroup.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
		
	
		
			
				
	
	
		
			11 lines
		
	
	
		
			180 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			11 lines
		
	
	
		
			180 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/util/subst.c
 | 
						|
+++ b/util/subst.c
 | 
						|
@@ -9,6 +9,7 @@
 | 
						|
 #include "config.h"
 | 
						|
 #else
 | 
						|
 #define HAVE_SYS_TIME_H
 | 
						|
+#define HAVE_SYS_STAT_H
 | 
						|
 #endif
 | 
						|
 #include <stdio.h>
 | 
						|
 #include <errno.h>
 |