From 94706763e55f1545ba7996d37b793f4bafbbd3ad Mon Sep 17 00:00:00 2001 From: Jon Williams Date: Thu, 31 Mar 2016 13:25:32 -0400 Subject: [PATCH 1/4] fix compilation on OpenBSD --- Makefile | 4 ++++ compat/clock_nanosleep/clock_nanosleep.c | 5 ++++- compat/clock_nanosleep/clock_nanosleep.h | 6 +++--- compat/compat.h | 16 ++++++++++++++-- net_io.c | 2 +- 5 files changed, 26 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 384d2d4..e8e0f49 100644 --- a/Makefile +++ b/Makefile @@ -31,6 +31,10 @@ CFLAGS+=-std=c11 COMPAT+=compat/clock_gettime/clock_gettime.o compat/clock_nanosleep/clock_nanosleep.o endif +ifeq ($(UNAME), OpenBSD) +COMPAT+= compat/clock_nanosleep/clock_nanosleep.o +endif + all: dump1090 view1090 %.o: %.c *.h 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..f736409 100644 --- a/compat/clock_nanosleep/clock_nanosleep.h +++ b/compat/clock_nanosleep/clock_nanosleep.h @@ -1,8 +1,8 @@ #ifndef CLOCK_NANOSLEEP_H #define CLOCK_NANOSLEEP_H -#ifndef CLOCKID_T -#define CLOCKID_T +#ifndef _CLOCK_T_DEFINED_ +#define _CLOCK_T_DEFINED_ typedef enum { CLOCK_REALTIME, @@ -10,7 +10,7 @@ typedef enum CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID } clockid_t; -#endif // CLOCKID_T +#endif // _CLOCK_T_DEFINED_ #ifndef TIMER_ABSTIME #define TIMER_ABSTIME 1 diff --git a/compat/compat.h b/compat/compat.h index c8bb5fb..4c5fadb 100644 --- a/compat/compat.h +++ b/compat/compat.h @@ -9,8 +9,8 @@ /* implementations of clock_gettime, clock_nanosleep */ -#include "clock_gettime/clock_gettime.h" -#include "clock_nanosleep/clock_nanosleep.h" +#define MISSING_NANOSLEEP +#define MISSING_GETTIME /* * Mach endian conversion @@ -29,4 +29,16 @@ #endif +#if defined(__OpenBSD__) +#define MISSING_NANOSLEEP +#endif + +#ifdef MISSING_NANOSLEEP +#include "clock_nanosleep/clock_nanosleep.h" +#endif + +#ifdef MISSING_GETTIME +#include "clock_nanosleep/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) From e0c15ea7e810845117c2d0b2424f27fbaa48e08d Mon Sep 17 00:00:00 2001 From: Jon Williams Date: Thu, 31 Mar 2016 13:38:34 -0400 Subject: [PATCH 2/4] changed MISSING_{NANOSLEEP,GETTIME} to use -D to fix compilation on OS X --- Makefile | 3 ++- compat/clock_nanosleep/clock_nanosleep.h | 7 ++++--- compat/compat.h | 11 +---------- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index e8e0f49..1b95a83 100644 --- a/Makefile +++ b/Makefile @@ -27,11 +27,12 @@ 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 diff --git a/compat/clock_nanosleep/clock_nanosleep.h b/compat/clock_nanosleep/clock_nanosleep.h index f736409..ba0b247 100644 --- a/compat/clock_nanosleep/clock_nanosleep.h +++ b/compat/clock_nanosleep/clock_nanosleep.h @@ -1,8 +1,8 @@ #ifndef CLOCK_NANOSLEEP_H #define CLOCK_NANOSLEEP_H -#ifndef _CLOCK_T_DEFINED_ -#define _CLOCK_T_DEFINED_ +#ifndef CLOCKID_T +#define CLOCKID_T typedef enum { CLOCK_REALTIME, @@ -10,7 +10,8 @@ typedef enum CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID } clockid_t; -#endif // _CLOCK_T_DEFINED_ +#endif // ifndef CLOCKID_T + #ifndef TIMER_ABSTIME #define TIMER_ABSTIME 1 diff --git a/compat/compat.h b/compat/compat.h index 4c5fadb..5905e10 100644 --- a/compat/compat.h +++ b/compat/compat.h @@ -7,11 +7,6 @@ #if defined(__APPLE__) -/* implementations of clock_gettime, clock_nanosleep */ - -#define MISSING_NANOSLEEP -#define MISSING_GETTIME - /* * Mach endian conversion */ @@ -29,16 +24,12 @@ #endif -#if defined(__OpenBSD__) -#define MISSING_NANOSLEEP -#endif - #ifdef MISSING_NANOSLEEP #include "clock_nanosleep/clock_nanosleep.h" #endif #ifdef MISSING_GETTIME -#include "clock_nanosleep/clock_gettime.h" +#include "clock_gettime/clock_gettime.h" #endif #endif //COMPAT_UTIL_H From 953a5e06415300bb6caf51518bcf750c82dcae42 Mon Sep 17 00:00:00 2001 From: Jon Williams Date: Thu, 31 Mar 2016 13:45:07 -0400 Subject: [PATCH 3/4] OpenBSD uses _CLOCKID_T_DEFINED_ instead of CLOCKID_T --- compat/clock_gettime/clock_gettime.h | 6 +++++- compat/clock_nanosleep/clock_nanosleep.h | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/compat/clock_gettime/clock_gettime.h b/compat/clock_gettime/clock_gettime.h index 978f522..ef0510c 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 diff --git a/compat/clock_nanosleep/clock_nanosleep.h b/compat/clock_nanosleep/clock_nanosleep.h index ba0b247..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 From 83322511ad45a09a21d3b65ef23f8c601b0bd47d Mon Sep 17 00:00:00 2001 From: Jon Williams Date: Thu, 31 Mar 2016 13:46:17 -0400 Subject: [PATCH 4/4] fixed a tiny change to an #ifndef comment --- compat/clock_gettime/clock_gettime.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compat/clock_gettime/clock_gettime.h b/compat/clock_gettime/clock_gettime.h index ef0510c..83fdac7 100644 --- a/compat/clock_gettime/clock_gettime.h +++ b/compat/clock_gettime/clock_gettime.h @@ -16,7 +16,7 @@ typedef enum CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID } clockid_t; -#endif // CLOCKID_T +#endif // ifndef CLOCKID_T struct timespec;