*
* Authors:
* Alessandro Iurlano <alessandro.iurlano at gmail.com>
- * Florian octo Forster <octo at verplant.org>
+ * Florian octo Forster <octo at collectd.org>
**/
#include "collectd.h"
}
/* Initialize `dir' */
- dir = (fc_directory_conf_t *) malloc (sizeof (*dir));
+ dir = calloc (1, sizeof (*dir));
if (dir == NULL)
{
- ERROR ("filecount plugin: malloc failed.");
+ ERROR ("filecount plugin: calloc failed.");
return (-1);
}
- memset (dir, 0, sizeof (*dir));
dir->path = strdup (ci->values[0].value.string);
if (dir->path == NULL)
{
ERROR ("filecount plugin: strdup failed.");
+ sfree (dir);
return (-1);
}
if (S_ISDIR (statbuf.st_mode) && (dir->options & FC_RECURSIVE))
{
- if(dir->options & FC_HIDDEN)
- status = walk_directory (abs_path, fc_read_dir_callback, dir,/* include hidden */1);
- else
- status = walk_directory (abs_path, fc_read_dir_callback, dir,/* include hidden */ 0);
+ status = walk_directory (abs_path, fc_read_dir_callback, dir,
+ /* include hidden = */ (dir->options & FC_HIDDEN) ? 1 : 0);
return (status);
}
else if (!S_ISREG (statbuf.st_mode))
if (dir->mtime != 0)
dir->now = time (NULL);
- if(dir->options & FC_HIDDEN)
- status = walk_directory (dir->path, fc_read_dir_callback, dir,/* include hidden */ 1);
- else
- status = walk_directory (dir->path, fc_read_dir_callback, dir,/* include hidden */ 0);
+ status = walk_directory (dir->path, fc_read_dir_callback, dir,
+ /* include hidden */ (dir->options & FC_HIDDEN) ? 1 : 0);
if (status != 0)
{
WARNING ("filecount plugin: walk_directory (%s) failed.", dir->path);