From 394bf0f1ed07419d40f6024363cc1ffc7ef61bc6 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Aug 2017 21:56:25 -0700 Subject: [PATCH] Replace need for error.h when it does not exist helps fixing build on musl Signed-off-by: Khem Raj --- Upstream-Status: Pending brokerUpc.c | 5 ++++- configure.ac | 2 +- httpAdapter.c | 4 +++- support.c | 14 +++++++++++++- trace.c | 4 +++- 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/brokerUpc.c b/brokerUpc.c index 17cbd9b..fe2b347 100644 --- a/brokerUpc.c +++ b/brokerUpc.c @@ -20,8 +20,11 @@ #include #include +#ifdef HAVE_ERROR_H #include - +#else +#include +#endif #include "support.h" #include "native.h" #include diff --git a/configure.ac b/configure.ac index ab2964e..d4915a1 100644 --- a/configure.ac +++ b/configure.ac @@ -517,7 +517,7 @@ fi # Checks for header files. AC_HEADER_STDC AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS([fcntl.h limits.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h zlib.h]) +AC_CHECK_HEADERS([error.h fcntl.h limits.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h zlib.h]) AC_CHECK_HEADERS([cmpi/cmpimacs.h cmpi/cmpift.h cmpi/cmpidt.h],[],[AC_MSG_ERROR([Could not find required CPMI header.])]) # Checks for typedefs, structures, and compiler characteristics. diff --git a/httpAdapter.c b/httpAdapter.c index 2719e6c..e768972 100644 --- a/httpAdapter.c +++ b/httpAdapter.c @@ -71,7 +71,9 @@ #ifdef HAVE_UDS #include #endif - +#ifndef __SOCKADDR_ARG +# define __SOCKADDR_ARG struct sockaddr *__restrict +#endif /* should probably go into cimRequest.h */ #define CIM_PROTOCOL_ANY 0 #define CIM_PROTOCOL_CIM_XML 1 diff --git a/support.c b/support.c index c7bba8b..5b3eef1 100644 --- a/support.c +++ b/support.c @@ -32,7 +32,11 @@ #include "support.h" #include #include +#ifdef HAVE_ERROR_H #include +#else +#include +#endif #include #include "native.h" #include "trace.h" @@ -331,17 +335,25 @@ loadQualifierDeclMI(const char *provider, _SFCB_RETURN(NULL); }; + /****************************************************************************/ /** Exits the program with a memory allocation error message in case the given * condition holds. */ +#if HAVE_ERROR_H #define __ALLOC_ERROR(cond) \ if ( cond ) { \ error_at_line ( -1, errno, __FILE__, __LINE__, \ "unable to allocate requested memory." ); \ } - +#else +#define __ALLOC_ERROR(cond) \ + if ( cond ) { \ + err(1, "%s:%d: %s", __FILE__, __LINE__, \ + "unable to allocate requested memory." ); \ + } +#endif /** * flag to ensure MM is initialized only once */ diff --git a/trace.c b/trace.c index d7f30db..438af46 100644 --- a/trace.c +++ b/trace.c @@ -279,7 +279,9 @@ _sfcb_trap(int tn) } #endif } - +#ifndef SA_INTERRUPT +# define SA_INTERRUPT 0x20000000 /* from GLIBC's */ +#endif sigHandler * setSignal(int sn, sigHandler * sh, int flags) { -- 2.14.1