diff options
author | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2002-11-08 07:20:05 +0000 |
---|---|---|
committer | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2002-11-08 07:20:05 +0000 |
commit | 1c4dd10d70ba9ed6dead6cc56cd0f572627cf619 (patch) | |
tree | 62485f23a5478eb8a6ad6b2de1eac322bf195662 | |
parent | 34ba941736b434a6c1453feec35d04ed7b0a59e5 (diff) | |
download | monitoring-plugins-1c4dd10d70ba9ed6dead6cc56cd0f572627cf619.tar.gz |
patches required to build on solaris with asprintf and gettimeofday
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@174 f882894a-f735-0410-b71e-b25c423dba1c
-rw-r--r-- | acconfig.h | 5 | ||||
-rw-r--r-- | configure.in | 54 | ||||
-rw-r--r-- | plugins/common.h.in | 16 | ||||
-rw-r--r-- | plugins/utils.c | 16 | ||||
-rw-r--r-- | plugins/utils.h.in | 9 |
5 files changed, 66 insertions, 34 deletions
@@ -1,15 +1,20 @@ #undef CGIURL #undef COMPILER_SUPPORTS_LL #undef DF_COMMAND +#undef HAVE_ASPRINTF #undef HAVE_C99_VSNPRINTF #undef HAVE_GETOPT_H #undef HAVE_GETOPT_LONG +#undef HAVE_GETTIMEOFDAY #undef HAVE_LONGLONG #undef HAVE_PROC_LOADAVG #undef HAVE_PROC_MEMINFO #undef HAVE_SSL +#undef HAVE_SNPRINTF #undef HAVE_SWAP #undef HAVE_VA_COPY +#undef HAVE_VASPRINTF +#undef HAVE_VSNPRINTF #undef NSLOOKUP_COMMAND #undef HOST_COMMAND #undef PACKAGE_VERSION diff --git a/configure.in b/configure.in index d7594057..bdd4013e 100644 --- a/configure.in +++ b/configure.in @@ -12,17 +12,6 @@ AM_CONFIG_HEADER(plugins/config.h plugins/common.h plugins/version.h plugins/net AC_PREFIX_DEFAULT(/usr/local/nagios) -#AC_DEFUN(AC_HAVE_DECL, -#[ -# AC_CACHE_CHECK([for $1 declaration],ac_cv_have_$1_decl,[ -# AC_TRY_COMPILE([$2],[int i = (int)$1], -# ac_cv_have_$1_decl=yes,ac_cv_have_$1_decl=no)]) -# if test x"$ac_cv_have_$1_decl" = x"yes"; then -# AC_DEFINE([HAVE_]translit([$1], [a-z], [A-Z])[_DECL],1,[Whether $1() is available]) -# fi -#]) - - dnl Figure out how to invoke "install" and what install options to use. AC_PROG_INSTALL @@ -338,6 +327,28 @@ if test x"$ac_cv_HAVE_C99_VSNPRINTF" = x"yes"; then AC_DEFINE(HAVE_C99_VSNPRINTF,1,[Define if system has C99 compatible vsnprintf]) fi +#AC_HAVE_DECL(asprintf, [#include <stdio.h>]) +#AC_HAVE_DECL(vasprintf, [#include <stdio.h>]) +#AC_HAVE_DECL(vsnprintf, [#include <stdio.h>]) +#AC_HAVE_DECL(snprintf, [#include <stdio.h>]) + +AC_CHECK_FUNC(snprintf, + AC_DEFINE(HAVE_SNPRINTF,1,[Define if snprintf is present]), + LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a") +AC_CHECK_FUNC(vsnprintf, + AC_DEFINE(HAVE_VSNPRINTF,1,[Define if vsnprintf is present]), + LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a") +AC_CHECK_FUNC(vasprintf, + AC_DEFINE(HAVE_VASPRINTF,1,[Define if vasprintf is present]), + LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a") +AC_CHECK_FUNC(asprintf, + AC_DEFINE(HAVE_ASPRINTF,1,[Define if asprintf is present]), + LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a") + +if test x"$ac_cv_HAVE_SNPRINTF" = x"no" -o x"$ac_cv_HAVE_VSNPRINTF" = x"no" -o x"$ac_cv_HAVE_VASPRINTF" = x"no" -o x"$ac_cv_HAVE_ASPRINTF" = x"no"; then + LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a" +fi + dnl We used to not do long options unless a compatible lib was found dnl Now we provide code and make libgetopt if native is not suitable AC_MSG_CHECKING(for getopt_long) @@ -356,23 +367,16 @@ AC_TRY_COMPILE([#include <getopt.h> AC_CHECK_FUNCS(getopt_long_only,,LIBS="$LIBS -lgetopt" DEPLIBS="$DEPLIBS libgetopt.a") -#AC_HAVE_DECL(asprintf, [#include <stdio.h>]) -#AC_HAVE_DECL(vasprintf, [#include <stdio.h>]) -#AC_HAVE_DECL(vsnprintf, [#include <stdio.h>]) -#AC_HAVE_DECL(snprintf, [#include <stdio.h>]) - -AC_CHECK_FUNC(snprintf,AC_DEFINE(HAVE_SNPRINTF,1,[Define if snprintf is present])) -AC_CHECK_FUNC(vsnprintf,AC_DEFINE(HAVE_VSNPRINTF,1,[Define if vsnprintf is present])) -AC_CHECK_FUNC(vasprintf,AC_DEFINE(HAVE_VASPRINTF,1,[Define if vasprintf is present])) -AC_CHECK_FUNC(asprintf,AC_DEFINE(HAVE_ASPRINTF,1,[Define if asprintf is present])) - -if test x"$ac_cv_HAVE_SNPRINTF" = x"no" -o x"$ac_cv_HAVE_VSNPRINTF" = x"no" -o x"$ac_cv_HAVE_VASPRINTF" = x"no" -o x"$ac_cv_HAVE_ASPRINTF" = x"no"; then - LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a" -fi +AC_TRY_COMPILE([#include <sys/time.h>], + [struct timeval *foo;], + [AC_DEFINE(HAVE_STRUCT_TIMEVAL,1,[Define if we have a timeval structure])]) +AC_TRY_COMPILE([#include <sys/time.h>], + [gettimeofday(NULL, NULL);], + AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define if gettimeofday is found])) dnl Checks for library functions. -AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul gettimeofday) +AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul) AC_MSG_CHECKING(for type of socket size) AC_TRY_COMPILE([#include <stdlib.h> diff --git a/plugins/common.h.in b/plugins/common.h.in index 72817028..535ae4a0 100644 --- a/plugins/common.h.in +++ b/plugins/common.h.in @@ -87,6 +87,22 @@ # define strtoul(a,b,c) (unsigned long)atol((a)) #endif +#ifndef HAVE_ASPRINTF +int asprintf(char **strp, const char *fmt, ...); +#endif + +#ifndef HAVE_VASPRINTF +/* int vasprintf(char **strp, const char *fmt, va_list ap); */ +#endif + +#ifndef HAVE_SNPRINTF +int snprintf(char *str, size_t size, const char *format, ...); +#endif + +#ifndef HAVE_VSNPRINTF +int vsnprintf(char *str, size_t size, const char *format, va_list ap); +#endif + /* * * Standard Values diff --git a/plugins/utils.c b/plugins/utils.c index a4519f25..bf1d2047 100644 --- a/plugins/utils.c +++ b/plugins/utils.c @@ -44,6 +44,8 @@ int is_percentage (char *); int is_option (char *str); +double delta_time (struct timeval tv); + void strip (char *); char *strscpy (char *dest, const char *src); char *strscat (char *dest, const char *src); @@ -315,13 +317,21 @@ is_option (char *str) +#ifndef HAVE_GETTIMEOFDAY +int +gettimeofday (struct timeval *tv, struct timezone *tz) +{ + tv->tv_usec = 0; + tv->tv_sec = (long) time ((time_t) 0); +} +#endif + + double delta_time (struct timeval tv) { struct timeval now; - struct timezone tz; - double et; gettimeofday (&now, NULL); return ((double)(now.tv_sec - tv.tv_sec) + (double)(now.tv_usec - tv.tv_usec) / (double)1000000); @@ -366,8 +376,6 @@ strip (char *buffer) char * strscpy (char *dest, const char *src) { - size_t len; - if (src == NULL) return NULL; diff --git a/plugins/utils.h.in b/plugins/utils.h.in index d88d0cb0..2b668f3c 100644 --- a/plugins/utils.h.in +++ b/plugins/utils.h.in @@ -46,16 +46,15 @@ int is_percentage (char *); int is_option (char *); /* generalized timer that will do milliseconds if available */ -#ifndef HAVE_GETTIMEOFDAY +#ifndef HAVE_STRUCT_TIMEVAL struct timeval { long tv_sec; /* seconds */ long tv_usec; /* microseconds */ }; +#endif -#define gettimeofday (tvp,tz) {\ - tvp->tv_usec=0;\ - tvp->tv_sec=(long)time();\ -} +#ifndef HAVE_GETTIMEOFDAY +int gettimeofday(struct timeval *tv, struct timezone *tz); #endif double delta_time (struct timeval tv); |