Re: [PATCH v1 03/10] target_fileio_read_stralloc: add an optional length parameter
Matthieu Longo <[email protected]> Mon, 27 Jul 2026 15:52:28 +0100
| Newsgroups | gmane.comp.gdb.patches |
|---|---|
| Message-ID | <[email protected]> |
On 24/07/2026 03:50, Thiago Jung Bauermann wrote: > Matthieu Longo <[email protected]> writes: > >> On 09/07/2026 07:30, Thiago Jung Bauermann wrote: >>> Matthieu Longo <[email protected]> writes: >>> >>>> diff --git a/gdb/target.h b/gdb/target.h >>>> index 22653138491..4215553033c 100644 >>>> --- a/gdb/target.h >>>> +++ b/gdb/target.h >>>> @@ -2336,7 +2336,7 @@ extern LONGEST target_fileio_read_alloc (struct inferior *inf, >>>> are returned as allocated but empty strings. A warning is issued >>>> if the result contains any embedded NUL bytes. */ >>>> extern gdb::unique_xmalloc_ptr<char> target_fileio_read_stralloc >>>> - (struct inferior *inf, const char *filename); >>>> + (struct inferior *inf, const char *filename, size_t *len = nullptr); >>> >>> It's worth updating the documentation comment to mention the new parameter. >> >> See the updated diff in gdb/target.h >> >> diff --git a/gdb/target.h b/gdb/target.h >> index 22653138491..0df5a654f75 100644 >> --- a/gdb/target.h >> +++ b/gdb/target.h >> @@ -2328,15 +2328,19 @@ extern LONGEST target_fileio_read_alloc (struct inferior *inf, >> const char *filename, >> gdb_byte **buf_p); >> >> -/* Read target file FILENAME, in the filesystem as seen by INF. If >> - INF is NULL, use the filesystem seen by the debugger (GDB or, for >> - remote targets, the remote stub). The result is NUL-terminated and >> - returned as a string, allocated using xmalloc. If an error occurs >> - or the transfer is unsupported, NULL is returned. Empty objects >> - are returned as allocated but empty strings. A warning is issued >> - if the result contains any embedded NUL bytes. */ >> +/* Read the content of the target file FILENAME from the filesystem as >> + seen by INF. If INF is NULL, use the filesystem seen by the debugger >> + (GDB or, for remote targets, the remote stub). >> + >> + If LEN is not NULL, store the number of bytes read, excluding the >> + terminating NUL byte. >> + >> + The returned buffer is NUL-terminated and allocated using xmalloc. >> + On error, or if the transfer is unsupported, return NULL. Empty >> + files are returned as allocated but empty strings. A warning is >> + issued if the file content contains embedded NUL bytes. */ >> extern gdb::unique_xmalloc_ptr<char> target_fileio_read_stralloc >> - (struct inferior *inf, const char *filename); >> + (struct inferior *inf, const char *filename, size_t *len = nullptr); >> >> /* Invalidate the target associated with open handles that were open >> on target TARG, since we're about to close (and maybe destroy) the > > Looks great, thanks! > > My only suggestion is to take the opportunity to do s/NULL/nullptr/ in > the comment. > I don't remember having seen usages of nullptr inside the documentation comments. Have you a previous example for this ? Matthieu