diff options
-rw-r--r-- | AUTHORS | 3 | ||||
-rw-r--r-- | plugins/check_swap.c | 9 |
2 files changed, 8 insertions, 4 deletions
@@ -101,4 +101,5 @@ Matt Pounsett | |||
101 | Shawn Wills | 101 | Shawn Wills |
102 | Ralph Rye | 102 | Ralph Rye |
103 | Jason Martin | 103 | Jason Martin |
104 | Jon Hallett \ No newline at end of file | 104 | Jon Hallett |
105 | Flo Gleixner | ||
diff --git a/plugins/check_swap.c b/plugins/check_swap.c index fe792e87..1155ed0e 100644 --- a/plugins/check_swap.c +++ b/plugins/check_swap.c | |||
@@ -73,8 +73,8 @@ main (int argc, char **argv) | |||
73 | bindtextdomain (PACKAGE, LOCALEDIR); | 73 | bindtextdomain (PACKAGE, LOCALEDIR); |
74 | textdomain (PACKAGE); | 74 | textdomain (PACKAGE); |
75 | 75 | ||
76 | status = strdup(""); | 76 | status = strdup (""); |
77 | perf = strdup(""); | 77 | perf = strdup (""); |
78 | 78 | ||
79 | if (process_arguments (argc, argv) != OK) | 79 | if (process_arguments (argc, argv) != OK) |
80 | usage (_("Invalid command arguments supplied\n")); | 80 | usage (_("Invalid command arguments supplied\n")); |
@@ -90,7 +90,10 @@ main (int argc, char **argv) | |||
90 | used_swap += dskused; | 90 | used_swap += dskused; |
91 | free_swap += dskfree; | 91 | free_swap += dskfree; |
92 | if (allswaps) { | 92 | if (allswaps) { |
93 | percent = 100 * (((double) dskused) / ((double) dsktotal)); | 93 | if (dsktotal == 0) |
94 | percent=100.0; | ||
95 | else | ||
96 | percent = 100 * (((double) dskused) / ((double) dsktotal)); | ||
94 | result = max_state (result, check_swap (percent, dskfree)); | 97 | result = max_state (result, check_swap (percent, dskfree)); |
95 | if (verbose) | 98 | if (verbose) |
96 | asprintf (&status, "%s [%llu (%d%%)]", status, dskfree, 100 - percent); | 99 | asprintf (&status, "%s [%llu (%d%%)]", status, dskfree, 100 - percent); |