[RFA] libiberty/mkstemps.c: Include if not available.

Joel Brobecker
2015-05-08T14:38:22Z

Hello,

Attempting to build libiberty on LynxOS-178 fails trying to compile
mkstemps.c with the following error:

mkstemps.c:84:18: error: storage size of 'tv' isn't known
struct timeval tv;
^

This file would normally include <sys/time.h> to get the type's
definition, but unfortunately LynxOS-178 does not want us to use
<sys/time.h>, only <time.h>. The configure script correctly finds
this out and generates a config.h file where HAVE_SYS_TIME_H is
undefined:

/* Define to 1 if you have the <sys/time.h> header file. */
/* #undef HAVE_SYS_TIME_H */

This patch fixes the build issue by falling back on including <time.h>
if <sys/time.h> could not be included (and provided that HAVE_TIME_H
is defined, of course).

libiberty/ChangeLog:

* mkstemps.c: #include <time.h> if HAVE_TIME_H is defined
but not HAVE_SYS_TIME_H.

OK to commit?

Thank you,
--
Joel

---
libiberty/mkstemps.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/libiberty/mkstemps.c b/libiberty/mkstemps.c
index a0e68a7..0e06fe1 100644
--- a/libiberty/mkstemps.c
+++ b/libiberty/mkstemps.c
@@ -35,6 +35,8 @@
#endif
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
+#elif HAVE_TIME_H
+#include <time.h>
#endif
#include "ansidecl.h"

--
1.9.1