diff options
Diffstat (limited to 'plugins/check_swap.c')
-rw-r--r-- | plugins/check_swap.c | 9 |
1 files changed, 6 insertions, 3 deletions
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); |