Return unique_xmalloc_ptr from target_read_stralloc
This changes target_read_stralloc to return a unique_xmalloc_ptr, and then fixes all the callers. unique_xmalloc_ptr is used, rather than std::string, because target_read_stralloc gives a special meaning to a NULL return. ChangeLog 2017-10-16 Tom Tromey <tom@tromey.com> * xml-syscall.c (xml_init_syscalls_info): Update. * xml-support.c (xinclude_start_include): Update. (xml_fetch_content_from_file): Return unique_xmalloc_ptr. * xml-support.h (xml_fetch_another): Return unique_xmalloc_ptr. (xml_fetch_content_from_file): Likewise. * osdata.c (get_osdata): Update. * target.h (target_read_stralloc, target_get_osdata): Return unique_xmalloc_ptr. * solib-aix.c (solib_aix_get_library_list): Update. * solib-target.c (solib_target_current_sos): Update. * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Update. * xml-tdesc.c (fetch_available_features_from_target): Update. (target_fetch_description_xml): Update. (file_read_description_xml): Update. * remote.c (remote_get_threads_with_qxfer, remote_memory_map) (remote_traceframe_info, btrace_read_config, remote_read_btrace) (remote_pid_to_exec_file): Update. * target.c (target_read_stralloc): Return unique_xmalloc_ptr. (target_get_osdata): Likewise.
This commit is contained in:
parent
b80406accc
commit
b7b030adc4
12 changed files with 102 additions and 168 deletions
23
gdb/target.h
23
gdb/target.h
|
@ -353,14 +353,13 @@ extern LONGEST target_read_alloc (struct target_ops *ops,
|
|||
const char *annex, gdb_byte **buf_p);
|
||||
|
||||
/* Read OBJECT/ANNEX using OPS. 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. */
|
||||
returned as a string. 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. */
|
||||
|
||||
extern char *target_read_stralloc (struct target_ops *ops,
|
||||
enum target_object object,
|
||||
const char *annex);
|
||||
extern gdb::unique_xmalloc_ptr<char> target_read_stralloc
|
||||
(struct target_ops *ops, enum target_object object, const char *annex);
|
||||
|
||||
/* See target_ops->to_xfer_partial. */
|
||||
extern target_xfer_partial_ftype target_xfer_partial;
|
||||
|
@ -2396,12 +2395,12 @@ extern struct target_ops *find_target_beneath (struct target_ops *);
|
|||
struct target_ops *find_target_at (enum strata stratum);
|
||||
|
||||
/* Read OS data object of type TYPE from the target, and return it in
|
||||
XML format. 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. */
|
||||
XML format. The result is NUL-terminated and returned as a string.
|
||||
If an error occurs or the transfer is unsupported, NULL is
|
||||
returned. Empty objects are returned as allocated but empty
|
||||
strings. */
|
||||
|
||||
extern char *target_get_osdata (const char *type);
|
||||
extern gdb::unique_xmalloc_ptr<char> target_get_osdata (const char *type);
|
||||
|
||||
|
||||
/* Stuff that should be shared among the various remote targets. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue