From: Tom de Vries <tdevries@suse.de>
To: Tom Tromey <tromey@adacore.com>, gdb-patches@sourceware.org
Subject: Re: [PATCH v3 1/5] Introduce read_remainder_of_file
Date: Tue, 27 Feb 2024 10:33:26 +0100 [thread overview]
Message-ID: <dacce7d2-b267-4393-90a2-bd71dfd09116@suse.de> (raw)
In-Reply-To: <20240220-py-simple-exc-v3-1-a2825caa4b74@adacore.com>
On 2/20/24 20:46, Tom Tromey wrote:
> This patch adds a new function, read_remainder_of_file. This is like
> read_text_file_to_string, but reads from an existing 'FILE *'. This
> will be used in a subsequent patch.
LGTM.
Reviewed-By: Tom de Vries <tdevries@suse.de>
Thanks,
- Tom
> ---
> gdbsupport/filestuff.cc | 24 ++++++++++++++++--------
> gdbsupport/filestuff.h | 4 ++++
> 2 files changed, 20 insertions(+), 8 deletions(-)
>
> diff --git a/gdbsupport/filestuff.cc b/gdbsupport/filestuff.cc
> index c67e650c1a6..9d3b417359b 100644
> --- a/gdbsupport/filestuff.cc
> +++ b/gdbsupport/filestuff.cc
> @@ -504,13 +504,9 @@ mkdir_recursive (const char *dir)
>
> /* See gdbsupport/filestuff.h. */
>
> -std::optional<std::string>
> -read_text_file_to_string (const char *path)
> +std::string
> +read_remainder_of_file (FILE *file)
> {
> - gdb_file_up file = gdb_fopen_cloexec (path, "r");
> - if (file == nullptr)
> - return {};
> -
> std::string res;
> for (;;)
> {
> @@ -520,7 +516,7 @@ read_text_file_to_string (const char *path)
> /* Resize to accommodate CHUNK_SIZE bytes. */
> res.resize (start_size + chunk_size);
>
> - int n = fread (&res[start_size], 1, chunk_size, file.get ());
> + int n = fread (&res[start_size], 1, chunk_size, file);
> if (n == chunk_size)
> continue;
>
> @@ -528,7 +524,7 @@ read_text_file_to_string (const char *path)
>
> /* Less than CHUNK means EOF or error. If it's an error, return
> no value. */
> - if (ferror (file.get ()))
> + if (ferror (file))
> return {};
>
> /* Resize the string according to the data we read. */
> @@ -538,3 +534,15 @@ read_text_file_to_string (const char *path)
>
> return res;
> }
> +
> +/* See gdbsupport/filestuff.h. */
> +
> +std::optional<std::string>
> +read_text_file_to_string (const char *path)
> +{
> + gdb_file_up file = gdb_fopen_cloexec (path, "r");
> + if (file == nullptr)
> + return {};
> +
> + return read_remainder_of_file (file.get ());
> +}
> diff --git a/gdbsupport/filestuff.h b/gdbsupport/filestuff.h
> index 1c43b7de0ca..e2ee141d46f 100644
> --- a/gdbsupport/filestuff.h
> +++ b/gdbsupport/filestuff.h
> @@ -133,4 +133,8 @@ extern bool mkdir_recursive (const char *dir);
>
> extern std::optional<std::string> read_text_file_to_string (const char *path);
>
> +/* Read the remaining content from FILE into an std::string. */
> +
> +extern std::string read_remainder_of_file (FILE *file);
> +
> #endif /* COMMON_FILESTUFF_H */
>
next prev parent reply other threads:[~2024-02-27 9:33 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-20 19:46 [PATCH v3 0/5] Fix DAP pause bug Tom Tromey
2024-02-20 19:46 ` [PATCH v3 1/5] Introduce read_remainder_of_file Tom Tromey
2024-02-27 9:33 ` Tom de Vries [this message]
2024-02-20 19:46 ` [PATCH v3 2/5] Fix formatting buglet in python.c Tom Tromey
2024-02-27 9:35 ` Tom de Vries
2024-02-20 19:46 ` [PATCH v3 3/5] kfail a FinishBreakpoint test Tom Tromey
2024-02-27 9:18 ` Tom de Vries
2024-02-20 19:46 ` [PATCH v3 4/5] Rewrite "python" command exception handling Tom Tromey
2024-02-27 10:37 ` Tom de Vries
2024-02-27 13:59 ` Tom Tromey
2024-02-20 19:46 ` [PATCH v3 5/5] Use the .py file in gdb.dap/pause.exp Tom Tromey
2024-02-27 9:36 ` Tom de Vries
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=dacce7d2-b267-4393-90a2-bd71dfd09116@suse.de \
--to=tdevries@suse.de \
--cc=gdb-patches@sourceware.org \
--cc=tromey@adacore.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).