X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fbootchart%2Flog.c;h=48002fafd05faa117168988eb4c3ed8179e50a9c;hb=682cfdff697707dbe29c9c1907a7c8c452ffb397;hp=78f0cab17833c4015f9117bbb67a6caf9fc9c1a6;hpb=ef2648c12793ded136eb81b2482f84027cade614;p=elogind.git diff --git a/src/bootchart/log.c b/src/bootchart/log.c index 78f0cab17..48002fafd 100644 --- a/src/bootchart/log.c +++ b/src/bootchart/log.c @@ -26,6 +26,7 @@ #include "bootchart.h" +#include "util.h" /* * Alloc a static 4k buffer for stdio - primarily used to increase @@ -38,11 +39,11 @@ DIR *proc; double gettime_ns(void) { - struct timespec now; + struct timespec n; - clock_gettime(CLOCK_MONOTONIC, &now); + clock_gettime(CLOCK_MONOTONIC, &n); - return (now.tv_sec + (now.tv_nsec / 1000000000.0)); + return (n.tv_sec + (n.tv_nsec / 1000000000.0)); } @@ -125,9 +126,9 @@ void log_sample(int sample) while (m) { if (sscanf(m, "%s %s", key, val) < 2) goto vmstat_next; - if (!strcmp(key, "pgpgin")) + if (streq(key, "pgpgin")) blockstat[sample].bi = atoi(val); - if (!strcmp(key, "pgpgout")) { + if (streq(key, "pgpgout")) { blockstat[sample].bo = atoi(val); break; } @@ -224,21 +225,19 @@ schedstat_next: char t[32]; struct ps_struct *parent; - ps->next_ps = malloc(sizeof(struct ps_struct)); + ps->next_ps = calloc(1, sizeof(struct ps_struct)); if (!ps->next_ps) { - perror("malloc(ps_struct)"); + perror("calloc(ps_struct)"); exit (EXIT_FAILURE); } - memset(ps->next_ps, 0, sizeof(struct ps_struct)); ps = ps->next_ps; ps->pid = pid; - ps->sample = malloc(sizeof(struct ps_sched_struct) * (len + 1)); + ps->sample = calloc(len + 1, sizeof(struct ps_sched_struct)); if (!ps->sample) { - perror("malloc(ps_struct)"); + perror("calloc(ps_struct)"); exit (EXIT_FAILURE); } - memset(ps->sample, 0, sizeof(struct ps_sched_struct) * (len + 1)); pscount++;