From 0b6423f9c99d9edf8c96fefd0f6c453859395aa1 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Mon, 30 Sep 2013 00:03:24 +0200 Subject: Import Nagios Plugins site Import the Nagios Plugins web site, Cronjobs, infrastructure scripts, and configuration files. --- web/attachments/123407-long_long_swap.patch | 173 ++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 web/attachments/123407-long_long_swap.patch (limited to 'web/attachments/123407-long_long_swap.patch') diff --git a/web/attachments/123407-long_long_swap.patch b/web/attachments/123407-long_long_swap.patch new file mode 100644 index 0000000..fcd5802 --- /dev/null +++ b/web/attachments/123407-long_long_swap.patch @@ -0,0 +1,173 @@ +Index: check_swap.c +=================================================================== +RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/check_swap.c,v +retrieving revision 1.9 +diff -u -r1.9 check_swap.c +--- check_swap.c 18 Feb 2003 03:46:15 -0000 1.9 ++++ check_swap.c 27 Feb 2005 23:58:43 -0000 +@@ -36,6 +36,18 @@ + #define EMAIL "kdebisschop@users.sourceforge.net" + #define SUMMARY "Check swap space on local server.\n" + ++#ifdef HAVE_LONGLONG ++typedef long long unsigned int swapsize_t; ++#define SWAPSIZEFORMAT "%llu" ++#define SWAPSIZEFORMAT_OUT SWAPSIZEFORMAT ++#define atos atoll ++#else ++typedef float swapsize_t; ++#define SWAPSIZEFORMAT "%f" ++#define SWAPSIZEFORMAT_OUT "%.0f" ++#define atos (float)atof ++#endif ++ + int process_arguments (int argc, char **argv); + int validate_arguments (void); + void print_usage (void); +@@ -43,8 +55,8 @@ + + int warn_percent = 200; + int crit_percent = 200; +-long unsigned int warn_size = 0; +-long unsigned int crit_size = 0; ++swapsize_t warn_size = 0; ++swapsize_t crit_size = 0; + int verbose; + int allswaps; + +@@ -52,8 +64,8 @@ + main (int argc, char **argv) + { + int percent_used, percent; +- long unsigned int total_swap = 0, used_swap = 0, free_swap = 0; +- long unsigned int total, used, free; ++ swapsize_t total_swap = 0, used_swap = 0, free_swap = 0; ++ swapsize_t total, used, free; + int result = STATE_OK; + char input_buffer[MAX_INPUT_BUFFER]; + #ifdef HAVE_SWAP +@@ -61,6 +73,7 @@ + #endif + #ifdef HAVE_PROC_MEMINFO + FILE *fp; ++ char str_format[32]; + #endif + char str[32]; + char *status = ""; +@@ -70,9 +83,10 @@ + + #ifdef HAVE_PROC_MEMINFO + fp = fopen (PROC_MEMINFO, "r"); ++ sprintf (str_format, " %%s %s %s %s", SWAPSIZEFORMAT, SWAPSIZEFORMAT, SWAPSIZEFORMAT); + asprintf (&status, "%s", "Swap used:"); + while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, fp)) { +- if (sscanf (input_buffer, " %s %lu %lu %lu", str, &total, &used, &free) == 4 && ++ if (sscanf (input_buffer, str_format, str, &total, &used, &free) == 4 && + strstr (str, "Swap")) { + total_swap += total; + used_swap += used; +@@ -83,8 +97,10 @@ + result = max_state (STATE_CRITICAL, result); + else if (percent >= warn_percent || free <= warn_size) + result = max_state (STATE_WARNING, result); +- if (verbose) +- asprintf (&status, "%s [%lu/%lu]", status, used, total); ++ if (verbose) { ++ sprintf (str_format, "%%s [%s/%s]", SWAPSIZEFORMAT_OUT, SWAPSIZEFORMAT_OUT); ++ asprintf (&status, str_format, status, used, total); ++ } + } + } + } +@@ -93,7 +109,8 @@ + result = max_state (STATE_CRITICAL, result); + else if (percent_used >= warn_percent || free_swap <= warn_size) + result = max_state (STATE_WARNING, result); +- asprintf (&status, "%s %2d%% (%lu out of %lu)", status, percent_used, ++ sprintf (str_format, "%%s %%2d%%%% (%s out of %s)", SWAPSIZEFORMAT_OUT, SWAPSIZEFORMAT_OUT); ++ asprintf (&status, str_format, status, percent_used, + used_swap, total_swap); + fclose (fp); + #else +@@ -137,8 +154,9 @@ + result = max_state (STATE_CRITICAL, result); + else if (percent >= warn_percent || free <= warn_size) + result = max_state (STATE_WARNING, result); +- if (verbose) +- asprintf (&status, "%s [%lu/%lu]", status, used, total); ++ if (verbose) { ++ sprintf (str_format, "%%s [%s/%s]", SWAPSIZEFORMAT_OUT, SWAPSIZEFORMAT_OUT); ++ asprintf (&status, str_format, status, used, total); + } + } + percent_used = 100 * ((double) used_swap) / ((double) total_swap); +@@ -146,8 +164,9 @@ + result = max_state (STATE_CRITICAL, result); + else if (percent_used >= warn_percent || free_swap <= warn_size) + result = max_state (STATE_WARNING, result); +- asprintf (&status, "%s %2d%% (%lu out of %lu)", +- status, percent_used, used_swap, total_swap); ++ sprintf (str_format, "%%s %%2d%%%% (%s out of %s)", SWAPSIZEFORMAT_OUT, SWAPSIZEFORMAT_OUT) ++ asprintf (&status, str_format, ++ status, percent_used, used_swap, total_swap); + + /* If we get anything on STDERR, at least set warning */ + while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_stderr)) +@@ -198,6 +217,8 @@ + int wc = 0; /* warning counter */ + int cc = 0; /* critical counter */ + ++ char str_format[32]; ++ + #ifdef HAVE_GETOPT_H + int option_index = 0; + static struct option long_options[] = { +@@ -224,15 +245,16 @@ + if (c == -1 || c == EOF) + break; + ++ sprintf (str_format, "%s,%%d%%%%", SWAPSIZEFORMAT); + switch (c) { + case 'w': /* warning time threshold */ + if (is_intnonneg (optarg)) { +- warn_size = atoi (optarg); ++ warn_size = atos (optarg); + break; + } + else if (strstr (optarg, ",") && + strstr (optarg, "%") && +- sscanf (optarg, "%lu,%d%%", &warn_size, &warn_percent) == 2) { ++ sscanf (optarg, str_format, &warn_size, &warn_percent) == 2) { + break; + } + else if (strstr (optarg, "%") && +@@ -245,12 +267,12 @@ + wc++; + case 'c': /* critical time threshold */ + if (is_intnonneg (optarg)) { +- crit_size = atoi (optarg); ++ crit_size = atos (optarg); + break; + } + else if (strstr (optarg, ",") && + strstr (optarg, "%") && +- sscanf (optarg, "%lu,%d%%", &crit_size, &crit_percent) == 2) { ++ sscanf (optarg, str_format, &crit_size, &crit_percent) == 2) { + break; + } + else if (strstr (optarg, "%") && +@@ -292,12 +314,12 @@ + if (c == argc) + return validate_arguments (); + if (warn_size < 0 && is_intnonneg (argv[c])) +- warn_size = atoi (argv[c++]); ++ warn_size = atos (argv[c++]); + + if (c == argc) + return validate_arguments (); + if (crit_size < 0 && is_intnonneg (argv[c])) +- crit_size = atoi (argv[c++]); ++ crit_size = atos (argv[c++]); + + return validate_arguments (); + } -- cgit v1.2.3-74-g34f1