On Fri, Nov 14, 2025 at 09:58:57AM +0800, Yumei Huang wrote: > On Fri, Nov 14, 2025 at 8:01 AM Stefano Brivio wrote: > > > > On Mon, 10 Nov 2025 17:31:33 +0800 > > Yumei Huang wrote: > > > > > Signed-off-by: Yumei Huang > > > Reviewed-by: David Gibson > > > --- > > > util.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > > util.h | 2 ++ > > > 2 files changed, 88 insertions(+) > > > > > > diff --git a/util.c b/util.c > > > index 44c21a3..c4c849c 100644 > > > --- a/util.c > > > +++ b/util.c > > > @@ -590,6 +590,92 @@ int write_file(const char *path, const char *buf) > > > return len == 0 ? 0 : -1; > > > } > > > > > > +/** > > > + * read_file() - Read contents of file into a NULL-terminated buffer > > > + * @path: Path to file to read > > > + * @buf: Buffer to store file contents > > > + * @buf_size: Size of buffer > > > + * > > > + * Return: number of bytes read on success, -1 on error, -ENOBUFS on truncation > > > + */ > > > +ssize_t read_file(const char *path, char *buf, size_t buf_size) > > > +{ > > > + int fd = open(path, O_RDONLY | O_CLOEXEC); > > > + size_t total_read = 0; > > > + ssize_t rc; > > > + > > > + if (fd < 0) { > > > + warn_perror("Could not open %s", path); > > > + return -1; > > > + } > > > + > > > + while (total_read < buf_size) { > > > + rc = read(fd, buf + total_read, buf_size - total_read); > > > > cppcheck rightfully says that: > > > > util.c:604:10: style: The scope of the variable 'rc' can be reduced. [variableScope] > > ssize_t rc; > > ^ > > Right. > Seems it also says: > > tcp.c:2814:0: style: The function 'tcp_get_rto_params' should have > static linkage since it is not used outside of its translation unit. > [staticFunction] > void tcp_get_rto_params(struct ctx *c) > ^ Ah, yes, that should be 'static'. Sorry, missed that in earlier reviews. > util.c:601:0: style: The function 'read_file' should have static > linkage since it is not used outside of its translation unit. > [staticFunction] > ssize_t read_file(const char *path, char *buf, size_t buf_size) > > I understand read_file() may be called from other places in the > future. But do we need to add static now? I guess we need it for > tcp_get_rto_params(). It's true that read_file() might be used elsewhere in future. I'd still make it 'static' for now, and we can change that if/when we use it somewhere else. -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson