From 931c61f1418b403ec8f76a24ee5b506e6ad574ef Mon Sep 17 00:00:00 2001 From: Thomas Richter Date: Wed, 4 Dec 2024 11:57:56 +0100 Subject: [PATCH] libcpumf/libcpumf_cpuset: Use util_file_read_line() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use function util_file_read_line() to read the file contents of sysfs file named /sys/devices/system/cpu/online. It has only one line. Signed-off-by: Thomas Richter Reviewed-by: Sumanth Korikkar Reviewed-by: Jan Höppner Signed-off-by: Jan Höppner --- libcpumf/libcpumf_cpuset.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) 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; }