diff --git a/Makefile b/Makefile index b8d10e7..8c2f32e 100644 --- a/Makefile +++ b/Makefile @@ -27,10 +27,15 @@ LIBS+=-lrt endif ifeq ($(UNAME), Darwin) # TODO: Putting GCC in C11 mode breaks things. -CFLAGS+=-std=c11 +CFLAGS+=-std=c11 -DMISSING_GETTIME -DMISSING_NANOSLEEP COMPAT+=compat/clock_gettime/clock_gettime.o compat/clock_nanosleep/clock_nanosleep.o endif +ifeq ($(UNAME), OpenBSD) +CFLAGS+= -DMISSING_NANOSLEEP +COMPAT+= compat/clock_nanosleep/clock_nanosleep.o +endif + all: dump1090 view1090 %.o: %.c *.h diff --git a/compat/clock_gettime/clock_gettime.h b/compat/clock_gettime/clock_gettime.h index 978f522..83fdac7 100644 --- a/compat/clock_gettime/clock_gettime.h +++ b/compat/clock_gettime/clock_gettime.h @@ -1,7 +1,11 @@ #ifndef CLOCK_GETTIME_H #define CLOCK_GETTIME_H -#include +#include // Apple-only, but this isn't inclued on other BSDs + +#ifdef _CLOCKID_T_DEFINED_ +#define CLOCKID_T +#endif #ifndef CLOCKID_T #define CLOCKID_T @@ -12,7 +16,7 @@ typedef enum CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID } clockid_t; -#endif // CLOCKID_T +#endif // ifndef CLOCKID_T struct timespec; diff --git a/compat/clock_nanosleep/clock_nanosleep.c b/compat/clock_nanosleep/clock_nanosleep.c index 9cbd1e4..f6e3d84 100644 --- a/compat/clock_nanosleep/clock_nanosleep.c +++ b/compat/clock_nanosleep/clock_nanosleep.c @@ -19,10 +19,13 @@ * http://www.gnu.org/copyleft/gpl.html * ***********************************************************************/ -#include "clock_nanosleep.h" #include // for errno, EINVAL #include // for nanosleep, NULL + +#include "clock_nanosleep.h" +#ifdef MISSING_GETTIME #include "../clock_gettime/clock_gettime.h" // for clock_gettime +#endif int clock_nanosleep(clockid_t id, int flags, const struct timespec *ts, struct timespec *ots) { diff --git a/compat/clock_nanosleep/clock_nanosleep.h b/compat/clock_nanosleep/clock_nanosleep.h index 5f91915..9a8da5d 100644 --- a/compat/clock_nanosleep/clock_nanosleep.h +++ b/compat/clock_nanosleep/clock_nanosleep.h @@ -1,6 +1,10 @@ #ifndef CLOCK_NANOSLEEP_H #define CLOCK_NANOSLEEP_H +#ifdef _CLOCKID_T_DEFINED_ +#define CLOCKID_T +#endif + #ifndef CLOCKID_T #define CLOCKID_T typedef enum @@ -10,7 +14,8 @@ typedef enum CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID } clockid_t; -#endif // CLOCKID_T +#endif // ifndef CLOCKID_T + #ifndef TIMER_ABSTIME #define TIMER_ABSTIME 1 diff --git a/compat/compat.h b/compat/compat.h index c8bb5fb..5905e10 100644 --- a/compat/compat.h +++ b/compat/compat.h @@ -7,11 +7,6 @@ #if defined(__APPLE__) -/* implementations of clock_gettime, clock_nanosleep */ - -#include "clock_gettime/clock_gettime.h" -#include "clock_nanosleep/clock_nanosleep.h" - /* * Mach endian conversion */ @@ -29,4 +24,12 @@ #endif +#ifdef MISSING_NANOSLEEP +#include "clock_nanosleep/clock_nanosleep.h" +#endif + +#ifdef MISSING_GETTIME +#include "clock_gettime/clock_gettime.h" +#endif + #endif //COMPAT_UTIL_H diff --git a/net_io.c b/net_io.c index 9b3facc..70e9901 100644 --- a/net_io.c +++ b/net_io.c @@ -1316,7 +1316,7 @@ static int handleHTTPRequest(struct client *c, char *p) { const char *statusmsg = "Internal Server Error"; char *url, *content = NULL; char *ext; - char *content_type; + char *content_type = NULL; int i; if (Modes.debug & MODES_DEBUG_NET)