Re: [PATCH v1 03/10] target_fileio_read_stralloc: add an optional length parameter
Thiago Jung Bauermann <[email protected]> Fri, 24 Jul 2026 02:50:37 +0000
| Newsgroups | gmane.comp.gdb.patches |
|---|---|
| Message-ID | <[email protected]> |
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. -- Thiago (he/him)