X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_mount.c;h=a2e96a65e43dca1aca8272fa7f33c1ab6d42a163;hb=a5377cf935630082f2eac2e5f4a538844cc06c8d;hp=da53b980eee91537c9aecdbfef118b835bcea8d1;hpb=abc30f241619b3eb66c801c324390e1e9e6e001f;p=collectd.git diff --git a/src/utils_mount.c b/src/utils_mount.c index da53b980..a2e96a65 100644 --- a/src/utils_mount.c +++ b/src/utils_mount.c @@ -32,6 +32,7 @@ #endif #include "collectd.h" + #include "utils_mount.h" #include "common.h" /* sstrncpy() et alii */ @@ -467,10 +468,8 @@ static cu_mount_t *cu_mount_getfsstat (void) return (NULL); } - if ((buf = (STRUCT_STATFS *) malloc (bufsize * sizeof (STRUCT_STATFS))) - == NULL) + if ((buf = calloc (bufsize, sizeof (*buf))) == NULL) return (NULL); - memset (buf, '\0', bufsize * sizeof (STRUCT_STATFS)); /* The bufsize needs to be passed in bytes. Really. This is not in the * manpage.. -octo */ @@ -487,10 +486,9 @@ static cu_mount_t *cu_mount_getfsstat (void) for (i = 0; i < num; i++) { - if ((new = malloc (sizeof (cu_mount_t))) == NULL) + if ((new = calloc (1, sizeof (*new))) == NULL) break; - memset (new, '\0', sizeof (cu_mount_t)); - + /* Copy values from `struct mnttab' */ new->dir = sstrdup (buf[i].f_mntonname); new->spec_device = sstrdup (buf[i].f_mntfromname); @@ -541,10 +539,9 @@ static cu_mount_t *cu_mount_gen_getmntent (void) while (getmntent (fp, &mt) == 0) { - if ((new = malloc (sizeof (cu_mount_t))) == NULL) + if ((new = calloc (1, sizeof (*new))) == NULL) break; - memset (new, '\0', sizeof (cu_mount_t)); - + /* Copy values from `struct mnttab' */ new->dir = sstrdup (mt.mnt_mountp); new->spec_device = sstrdup (mt.mnt_special); @@ -599,9 +596,8 @@ static cu_mount_t *cu_mount_getmntent (void) while (getmntent_r (fp, &me, mntbuf, sizeof (mntbuf) )) { - if ((new = malloc (sizeof (cu_mount_t))) == NULL) + if ((new = calloc (1, sizeof (*new))) == NULL) break; - memset (new, '\0', sizeof (cu_mount_t)); /* Copy values from `struct mntent *' */ new->dir = sstrdup (me.mnt_dir); @@ -656,10 +652,9 @@ static cu_mount_t *cu_mount_getmntent (void) while ((me = getmntent (fp)) != NULL) { - if ((new = malloc (sizeof (cu_mount_t))) == NULL) + if ((new = calloc (1, sizeof (*new))) == NULL) break; - memset (new, '\0', sizeof (cu_mount_t)); - + /* Copy values from `struct mntent *' */ new->dir = sstrdup (me->mnt_dir); new->spec_device = sstrdup (me->mnt_fsname); @@ -763,7 +758,7 @@ void cu_mount_freelist (cu_mount_t *list) } /* void cu_mount_freelist(cu_mount_t *list) */ char * -cu_mount_checkoption(char *line, char *keyword, int full) +cu_mount_checkoption(char *line, const char *keyword, int full) { char *line2, *l2, *p1, *p2; int l; @@ -804,7 +799,7 @@ cu_mount_checkoption(char *line, char *keyword, int full) } /* char *cu_mount_checkoption(char *line, char *keyword, int full) */ char * -cu_mount_getoptionvalue(char *line, char *keyword) +cu_mount_getoptionvalue(char *line, const char *keyword) { char *r; @@ -820,13 +815,13 @@ cu_mount_getoptionvalue(char *line, char *keyword) if((p-r) == 1) { return NULL; } - m = (char *)smalloc(p-r+1); + m = smalloc(p-r+1); sstrncpy(m, r, p-r+1); return m; } } return r; -} /* char *cu_mount_getoptionvalue(char *line, char *keyword) */ +} /* char *cu_mount_getoptionvalue(char *line, const char *keyword) */ int cu_mount_type(const char *type)