diff --git a/libcpumf/libcpumf_cpuset.c b/libcpumf/libcpumf_cpuset.c index 91dfbce7..38a8ebbc 100644 --- a/libcpumf/libcpumf_cpuset.c +++ b/libcpumf/libcpumf_cpuset.c @@ -5,12 +5,14 @@ */ #include -#include -#include -#include +#include #include +#include +#include +#include #include "lib/libcpumf.h" +#include "lib/util_file.h" #include "lib/util_libc.h" int libcpumf_cpuset(const char *parm, cpu_set_t *mask) @@ -58,19 +60,11 @@ out: int libcpumf_cpuset_fn(const char *filename, cpu_set_t *mask) { - char *txt = NULL; - ssize_t ret = -1; - size_t len = 0; - FILE *fp; + char txt[PATH_MAX]; + int ret = util_file_read_line(txt, sizeof(txt), "%s", filename); - fp = fopen(filename, "r"); - if (!fp) - return ret; /* Read out file, one line expected */ - ret = getline(&txt, &len, fp); - fclose(fp); - if (ret > 0) + if (!ret) ret = libcpumf_cpuset(txt, mask); - free(txt); return ret; }