diff options
| -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 @@ | |||
| 1 | #undef CGIURL | 1 | #undef CGIURL |
| 2 | #undef COMPILER_SUPPORTS_LL | 2 | #undef COMPILER_SUPPORTS_LL |
| 3 | #undef DF_COMMAND | 3 | #undef DF_COMMAND |
| 4 | #undef HAVE_ASPRINTF | ||
| 4 | #undef HAVE_C99_VSNPRINTF | 5 | #undef HAVE_C99_VSNPRINTF |
| 5 | #undef HAVE_GETOPT_H | 6 | #undef HAVE_GETOPT_H |
| 6 | #undef HAVE_GETOPT_LONG | 7 | #undef HAVE_GETOPT_LONG |
| 8 | #undef HAVE_GETTIMEOFDAY | ||
| 7 | #undef HAVE_LONGLONG | 9 | #undef HAVE_LONGLONG |
| 8 | #undef HAVE_PROC_LOADAVG | 10 | #undef HAVE_PROC_LOADAVG |
| 9 | #undef HAVE_PROC_MEMINFO | 11 | #undef HAVE_PROC_MEMINFO |
| 10 | #undef HAVE_SSL | 12 | #undef HAVE_SSL |
| 13 | #undef HAVE_SNPRINTF | ||
| 11 | #undef HAVE_SWAP | 14 | #undef HAVE_SWAP |
| 12 | #undef HAVE_VA_COPY | 15 | #undef HAVE_VA_COPY |
| 16 | #undef HAVE_VASPRINTF | ||
| 17 | #undef HAVE_VSNPRINTF | ||
| 13 | #undef NSLOOKUP_COMMAND | 18 | #undef NSLOOKUP_COMMAND |
| 14 | #undef HOST_COMMAND | 19 | #undef HOST_COMMAND |
| 15 | #undef PACKAGE_VERSION | 20 | #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 | |||
| 12 | 12 | ||
| 13 | AC_PREFIX_DEFAULT(/usr/local/nagios) | 13 | AC_PREFIX_DEFAULT(/usr/local/nagios) |
| 14 | 14 | ||
| 15 | #AC_DEFUN(AC_HAVE_DECL, | ||
| 16 | #[ | ||
| 17 | # AC_CACHE_CHECK([for $1 declaration],ac_cv_have_$1_decl,[ | ||
| 18 | # AC_TRY_COMPILE([$2],[int i = (int)$1], | ||
| 19 | # ac_cv_have_$1_decl=yes,ac_cv_have_$1_decl=no)]) | ||
| 20 | # if test x"$ac_cv_have_$1_decl" = x"yes"; then | ||
| 21 | # AC_DEFINE([HAVE_]translit([$1], [a-z], [A-Z])[_DECL],1,[Whether $1() is available]) | ||
| 22 | # fi | ||
| 23 | #]) | ||
| 24 | |||
| 25 | |||
| 26 | dnl Figure out how to invoke "install" and what install options to use. | 15 | dnl Figure out how to invoke "install" and what install options to use. |
| 27 | 16 | ||
| 28 | AC_PROG_INSTALL | 17 | AC_PROG_INSTALL |
| @@ -338,6 +327,28 @@ if test x"$ac_cv_HAVE_C99_VSNPRINTF" = x"yes"; then | |||
| 338 | AC_DEFINE(HAVE_C99_VSNPRINTF,1,[Define if system has C99 compatible vsnprintf]) | 327 | AC_DEFINE(HAVE_C99_VSNPRINTF,1,[Define if system has C99 compatible vsnprintf]) |
| 339 | fi | 328 | fi |
| 340 | 329 | ||
| 330 | #AC_HAVE_DECL(asprintf, [#include <stdio.h>]) | ||
| 331 | #AC_HAVE_DECL(vasprintf, [#include <stdio.h>]) | ||
| 332 | #AC_HAVE_DECL(vsnprintf, [#include <stdio.h>]) | ||
| 333 | #AC_HAVE_DECL(snprintf, [#include <stdio.h>]) | ||
| 334 | |||
| 335 | AC_CHECK_FUNC(snprintf, | ||
| 336 | AC_DEFINE(HAVE_SNPRINTF,1,[Define if snprintf is present]), | ||
| 337 | LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a") | ||
| 338 | AC_CHECK_FUNC(vsnprintf, | ||
| 339 | AC_DEFINE(HAVE_VSNPRINTF,1,[Define if vsnprintf is present]), | ||
| 340 | LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a") | ||
| 341 | AC_CHECK_FUNC(vasprintf, | ||
| 342 | AC_DEFINE(HAVE_VASPRINTF,1,[Define if vasprintf is present]), | ||
| 343 | LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a") | ||
| 344 | AC_CHECK_FUNC(asprintf, | ||
| 345 | AC_DEFINE(HAVE_ASPRINTF,1,[Define if asprintf is present]), | ||
| 346 | LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a") | ||
| 347 | |||
| 348 | 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 | ||
| 349 | LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a" | ||
| 350 | fi | ||
| 351 | |||
| 341 | dnl We used to not do long options unless a compatible lib was found | 352 | dnl We used to not do long options unless a compatible lib was found |
| 342 | dnl Now we provide code and make libgetopt if native is not suitable | 353 | dnl Now we provide code and make libgetopt if native is not suitable |
| 343 | AC_MSG_CHECKING(for getopt_long) | 354 | AC_MSG_CHECKING(for getopt_long) |
| @@ -356,23 +367,16 @@ AC_TRY_COMPILE([#include <getopt.h> | |||
| 356 | 367 | ||
| 357 | AC_CHECK_FUNCS(getopt_long_only,,LIBS="$LIBS -lgetopt" DEPLIBS="$DEPLIBS libgetopt.a") | 368 | AC_CHECK_FUNCS(getopt_long_only,,LIBS="$LIBS -lgetopt" DEPLIBS="$DEPLIBS libgetopt.a") |
| 358 | 369 | ||
| 359 | #AC_HAVE_DECL(asprintf, [#include <stdio.h>]) | 370 | AC_TRY_COMPILE([#include <sys/time.h>], |
| 360 | #AC_HAVE_DECL(vasprintf, [#include <stdio.h>]) | 371 | [struct timeval *foo;], |
| 361 | #AC_HAVE_DECL(vsnprintf, [#include <stdio.h>]) | 372 | [AC_DEFINE(HAVE_STRUCT_TIMEVAL,1,[Define if we have a timeval structure])]) |
| 362 | #AC_HAVE_DECL(snprintf, [#include <stdio.h>]) | ||
| 363 | |||
| 364 | AC_CHECK_FUNC(snprintf,AC_DEFINE(HAVE_SNPRINTF,1,[Define if snprintf is present])) | ||
| 365 | AC_CHECK_FUNC(vsnprintf,AC_DEFINE(HAVE_VSNPRINTF,1,[Define if vsnprintf is present])) | ||
| 366 | AC_CHECK_FUNC(vasprintf,AC_DEFINE(HAVE_VASPRINTF,1,[Define if vasprintf is present])) | ||
| 367 | AC_CHECK_FUNC(asprintf,AC_DEFINE(HAVE_ASPRINTF,1,[Define if asprintf is present])) | ||
| 368 | |||
| 369 | 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 | ||
| 370 | LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a" | ||
| 371 | fi | ||
| 372 | 373 | ||
| 374 | AC_TRY_COMPILE([#include <sys/time.h>], | ||
| 375 | [gettimeofday(NULL, NULL);], | ||
| 376 | AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define if gettimeofday is found])) | ||
| 373 | 377 | ||
| 374 | dnl Checks for library functions. | 378 | dnl Checks for library functions. |
| 375 | AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul gettimeofday) | 379 | AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul) |
| 376 | 380 | ||
| 377 | AC_MSG_CHECKING(for type of socket size) | 381 | AC_MSG_CHECKING(for type of socket size) |
| 378 | AC_TRY_COMPILE([#include <stdlib.h> | 382 | 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 @@ | |||
| 87 | # define strtoul(a,b,c) (unsigned long)atol((a)) | 87 | # define strtoul(a,b,c) (unsigned long)atol((a)) |
| 88 | #endif | 88 | #endif |
| 89 | 89 | ||
| 90 | #ifndef HAVE_ASPRINTF | ||
| 91 | int asprintf(char **strp, const char *fmt, ...); | ||
| 92 | #endif | ||
| 93 | |||
| 94 | #ifndef HAVE_VASPRINTF | ||
| 95 | /* int vasprintf(char **strp, const char *fmt, va_list ap); */ | ||
| 96 | #endif | ||
| 97 | |||
| 98 | #ifndef HAVE_SNPRINTF | ||
| 99 | int snprintf(char *str, size_t size, const char *format, ...); | ||
| 100 | #endif | ||
| 101 | |||
| 102 | #ifndef HAVE_VSNPRINTF | ||
| 103 | int vsnprintf(char *str, size_t size, const char *format, va_list ap); | ||
| 104 | #endif | ||
| 105 | |||
| 90 | /* | 106 | /* |
| 91 | * | 107 | * |
| 92 | * Standard Values | 108 | * 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 *); | |||
| 44 | 44 | ||
| 45 | int is_option (char *str); | 45 | int is_option (char *str); |
| 46 | 46 | ||
| 47 | double delta_time (struct timeval tv); | ||
| 48 | |||
| 47 | void strip (char *); | 49 | void strip (char *); |
| 48 | char *strscpy (char *dest, const char *src); | 50 | char *strscpy (char *dest, const char *src); |
| 49 | char *strscat (char *dest, const char *src); | 51 | char *strscat (char *dest, const char *src); |
| @@ -315,13 +317,21 @@ is_option (char *str) | |||
| 315 | 317 | ||
| 316 | 318 | ||
| 317 | 319 | ||
| 320 | #ifndef HAVE_GETTIMEOFDAY | ||
| 321 | int | ||
| 322 | gettimeofday (struct timeval *tv, struct timezone *tz) | ||
| 323 | { | ||
| 324 | tv->tv_usec = 0; | ||
| 325 | tv->tv_sec = (long) time ((time_t) 0); | ||
| 326 | } | ||
| 327 | #endif | ||
| 328 | |||
| 329 | |||
| 318 | 330 | ||
| 319 | double | 331 | double |
| 320 | delta_time (struct timeval tv) | 332 | delta_time (struct timeval tv) |
| 321 | { | 333 | { |
| 322 | struct timeval now; | 334 | struct timeval now; |
| 323 | struct timezone tz; | ||
| 324 | double et; | ||
| 325 | 335 | ||
| 326 | gettimeofday (&now, NULL); | 336 | gettimeofday (&now, NULL); |
| 327 | return ((double)(now.tv_sec - tv.tv_sec) + (double)(now.tv_usec - tv.tv_usec) / (double)1000000); | 337 | return ((double)(now.tv_sec - tv.tv_sec) + (double)(now.tv_usec - tv.tv_usec) / (double)1000000); |
| @@ -366,8 +376,6 @@ strip (char *buffer) | |||
| 366 | char * | 376 | char * |
| 367 | strscpy (char *dest, const char *src) | 377 | strscpy (char *dest, const char *src) |
| 368 | { | 378 | { |
| 369 | size_t len; | ||
| 370 | |||
| 371 | if (src == NULL) | 379 | if (src == NULL) |
| 372 | return NULL; | 380 | return NULL; |
| 373 | 381 | ||
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 *); | |||
| 46 | int is_option (char *); | 46 | int is_option (char *); |
| 47 | 47 | ||
| 48 | /* generalized timer that will do milliseconds if available */ | 48 | /* generalized timer that will do milliseconds if available */ |
| 49 | #ifndef HAVE_GETTIMEOFDAY | 49 | #ifndef HAVE_STRUCT_TIMEVAL |
| 50 | struct timeval { | 50 | struct timeval { |
| 51 | long tv_sec; /* seconds */ | 51 | long tv_sec; /* seconds */ |
| 52 | long tv_usec; /* microseconds */ | 52 | long tv_usec; /* microseconds */ |
| 53 | }; | 53 | }; |
| 54 | #endif | ||
| 54 | 55 | ||
| 55 | #define gettimeofday (tvp,tz) {\ | 56 | #ifndef HAVE_GETTIMEOFDAY |
| 56 | tvp->tv_usec=0;\ | 57 | int gettimeofday(struct timeval *tv, struct timezone *tz); |
| 57 | tvp->tv_sec=(long)time();\ | ||
| 58 | } | ||
| 59 | #endif | 58 | #endif |
| 60 | 59 | ||
| 61 | double delta_time (struct timeval tv); | 60 | double delta_time (struct timeval tv); |
