X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fdf.c;h=af54c92f9f7da4ce3c919deb11d93c12478e8d85;hb=4d370741101aeb037ae52f3529a4a0869e0dc08a;hp=53bc4a895e1123f0966eb743723cd6c1d607c375;hpb=029e88709f60d90fede55ed31f775602c1487d24;p=collectd.git diff --git a/src/df.c b/src/df.c index 53bc4a89..af54c92f 100644 --- a/src/df.c +++ b/src/df.c @@ -22,9 +22,9 @@ **/ #include "collectd.h" + #include "common.h" #include "plugin.h" -#include "configfile.h" #include "utils_mount.h" #include "utils_ignorelist.h" @@ -190,7 +190,6 @@ static int df_read (void) #endif /* struct STATANYFS statbuf; */ cu_mount_t *mnt_list; - cu_mount_t *mnt_ptr; mnt_list = NULL; if (cu_mount_getlist (&mnt_list) == NULL) @@ -199,7 +198,7 @@ static int df_read (void) return (-1); } - for (mnt_ptr = mnt_list; mnt_ptr != NULL; mnt_ptr = mnt_ptr->next) + for (cu_mount_t *mnt_ptr = mnt_list; mnt_ptr != NULL; mnt_ptr = mnt_ptr->next) { unsigned long long blocksize; char disk_name[256]; @@ -230,7 +229,10 @@ static int df_read (void) } /* Duplicate found: leave non-NULL dup_ptr. */ - if (by_device && (strcmp (mnt_ptr->spec_device, dup_ptr->spec_device) == 0)) + if (by_device + && (mnt_ptr->spec_device != NULL) + && (dup_ptr->spec_device != NULL) + && (strcmp (mnt_ptr->spec_device, dup_ptr->spec_device) == 0)) break; else if (!by_device && (strcmp (mnt_ptr->dir, dup_ptr->dir) == 0)) break; @@ -270,19 +272,15 @@ static int df_read (void) else { if (strcmp (mnt_ptr->dir, "/") == 0) - { - if (strcmp (mnt_ptr->type, "rootfs") == 0) - continue; sstrncpy (disk_name, "root", sizeof (disk_name)); - } else { - int i, len; + int len; sstrncpy (disk_name, mnt_ptr->dir + 1, sizeof (disk_name)); len = strlen (disk_name); - for (i = 0; i < len; i++) + for (int i = 0; i < len; i++) if (disk_name[i] == '/') disk_name[i] = '-'; }