X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdf.c;h=d9ffa8b16ab32203b51b1ab74179078d5c74f182;hb=6d8031d73b7c1d874d7afa4cad2f248c4073764d;hp=ff701725f42dc80b3084754503966eb0ca5613ab;hpb=9c005ac200587f2df285aaae1c3d4071e7db29d8;p=collectd.git diff --git a/src/df.c b/src/df.c index ff701725..d9ffa8b1 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" @@ -161,14 +161,10 @@ static void df_submit_one (char *plugin_instance, const char *type, const char *type_instance, gauge_t value) { - value_t values[1]; value_list_t vl = VALUE_LIST_INIT; - values[0].gauge = value; - - vl.values = values; + vl.values = &(value_t) { .gauge = value }; vl.values_len = 1; - sstrncpy (vl.host, hostname_g, sizeof (vl.host)); sstrncpy (vl.plugin, "df", sizeof (vl.plugin)); if (plugin_instance != NULL) sstrncpy (vl.plugin_instance, plugin_instance, @@ -190,7 +186,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 +194,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 +225,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; @@ -273,12 +271,12 @@ static int df_read (void) 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] = '-'; }