summaryrefslogtreecommitdiffstats
path: root/plugins/check_swap.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/check_swap.c')
-rw-r--r--plugins/check_swap.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/plugins/check_swap.c b/plugins/check_swap.c
index fe792e8..1155ed0 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);