gdbsupport, gdb: add read_text_file_to_string, use it in linux_common_core_of_thread
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 4 Nov 2022 13:39:12 +0000 (09:39 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Tue, 8 Nov 2022 21:50:52 +0000 (16:50 -0500)
commit7a283d9cf5ccf26321f33812e79cf1515288ac94
tree4518bf729385a5de34be59da6c2a223028fcb205
parent7dacb40b89b19382bb2597c5e26f347985d4edb5
gdbsupport, gdb: add read_text_file_to_string, use it in linux_common_core_of_thread

I would like to add more code to nat/linux-osdata.c that reads an entire
file from /proc or /sys and processes it as a string afterwards.  I
would like to avoid duplicating the somewhat error-prone code that reads
an entire file to a buffer.  I think we should have a utility function
that does that.

Add read_file_to_string to gdbsupport/filestuff.{c,h}, and make
linux_common_core_of_thread use it.  I want to make the new function
return an std::string, and because strtok doesn't play well with
std::string (it requires a `char *`, std::string::c_str returns a `const
char *`), change linux_common_core_of_thread to use std::string methods
instead.

Approved-By: Tom Tromey <tom@tromey.com>
Change-Id: I1793fda72a82969c28b944a84acb953f74c9230a
gdb/nat/linux-osdata.c
gdbsupport/filestuff.cc
gdbsupport/filestuff.h