[Mesa-stable] [Mesa-dev] [PATCH] loader: include <sys/stat.h> for non-sysfs builds
Ian Romanick
idr at freedesktop.org
Wed Mar 11 15:18:35 PDT 2015
On 03/11/2015 02:44 PM, Emil Velikov wrote:
> On 11 March 2015 at 20:50, Ian Romanick <idr at freedesktop.org> wrote:
>> On 03/11/2015 12:12 PM, Emil Velikov wrote:
>>> Required by fstat(), otherwise we'll error out due to implicit function
>>> declaration.
>>
>> Alternate suggestion... include unistd.h unconditionally. I see that's
>> already in the #ifdef HAVE_LIBUDEV path. Does that work too?
>>
> Perhaps the commit message is a bit confusing, but your suggestion
> does not parse here. How does the following sound ?
>
> When building with libudev (non-sysfs) we don't include sys/stat.h
> thus we error out due to the implicit declaration of the function
> fstat().
What I meant was:
diff --git a/src/loader/loader.c b/src/loader/loader.c
index 9ff5115..4709b02 100644
--- a/src/loader/loader.c
+++ b/src/loader/loader.c
@@ -67,11 +67,11 @@
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
+#include <unistd.h>
#ifdef HAVE_LIBUDEV
#include <assert.h>
#include <dlfcn.h>
#include <fcntl.h>
-#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#ifdef USE_DRICONF
@@ -80,7 +80,6 @@
#endif
#endif
#ifdef HAVE_SYSFS
-#include <sys/stat.h>
#include <sys/types.h>
#endif
#include "loader.h"
The fstat man page led me to believe that fstat also comes from
unistd.h, but
http://pubs.opengroup.org/onlinepubs/009695399/functions/fstat.html
leads me to believe that is incorrect. That link also says that 'struct
stat' is defined in sys/stat.h, so the implicit function declaration
should have been the least of the problems.
In any case, just ignore all my noise.
More information about the mesa-stable
mailing list