aboutsummaryrefslogtreecommitdiff
path: root/gdb/target.h
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-10-12 16:48:35 -0600
committerTom Tromey <tom@tromey.com>2017-10-16 16:10:21 -0600
commitb7b030adc405017f01e996a90f85e40730ef8397 (patch)
tree5d6fdf82c43f719834633295cbcde80f75d5663d /gdb/target.h
parentb80406accc70791a1789e40f24d64161bc41de34 (diff)
downloadgdb-b7b030adc405017f01e996a90f85e40730ef8397.zip
gdb-b7b030adc405017f01e996a90f85e40730ef8397.tar.gz
gdb-b7b030adc405017f01e996a90f85e40730ef8397.tar.bz2
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.
Diffstat (limited to 'gdb/target.h')
-rw-r--r--gdb/target.h23
1 files changed, 11 insertions, 12 deletions
diff --git a/gdb/target.h b/gdb/target.h
index 581c89b..8cac818 100644
--- a/gdb/target.h
+++ b/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. */