X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fbootchart%2Fsvg.c;h=dc55cb3797a7fdf8813dc7fdb7a223e0a251a765;hb=b823b5e272d07d31c12625a268e8d563289a4db5;hp=d7c4168d57a82414c2e453a60c50dcc1b8c67a14;hpb=6bb25a058227d89fbbeba6c12873e6f83da5cf94;p=elogind.git diff --git a/src/bootchart/svg.c b/src/bootchart/svg.c index d7c4168d5..dc55cb379 100644 --- a/src/bootchart/svg.c +++ b/src/bootchart/svg.c @@ -28,6 +28,8 @@ #include #include #include +#include +#include #include "bootchart.h" #include "util.h" @@ -98,7 +100,7 @@ static void svg_header(void) svg("\n"); svg("\n"); svg("\n"); - svg("\n\n"); + svg("\n\n"); svg("\n", VERSION); svg("\n", hz, len); @@ -151,10 +153,12 @@ static void svg_title(void) char *c; FILE *f; time_t t; + int fd; struct utsname uts; /* grab /proc/cmdline */ - f = fopen("/proc/cmdline", "r"); + fd = openat(procfd, "cmdline", O_RDONLY); + f = fdopen(fd, "r"); if (f) { if (!fgets(cmdline, 255, f)) sprintf(cmdline, "Unknown"); @@ -167,8 +171,9 @@ static void svg_title(void) strncpy(rootbdev, &c[10], 3); rootbdev[3] = '\0'; } - sprintf(filename, "/sys/block/%s/device/model", rootbdev); - f = fopen(filename, "r"); + sprintf(filename, "block/%s/device/model", rootbdev); + fd = openat(sysfd, filename, O_RDONLY); + f = fdopen(fd, "r"); if (f) { if (!fgets(model, 255, f)) fprintf(stderr, "Error reading disk model for %s\n", rootbdev); @@ -184,7 +189,8 @@ static void svg_title(void) strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", localtime(&t)); /* CPU type */ - f = fopen("/proc/cpuinfo", "r"); + fd = openat(procfd, "cpuinfo", O_RDONLY); + f = fdopen(fd, "r"); if (f) { while (fgets(buf, 255, f)) { if (strstr(buf, "model name")) {