diff options
author | Tom Tromey <tromey@adacore.com> | 2020-06-15 06:28:09 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2020-06-15 06:28:10 -0600 |
commit | 669203174311c5be76744a879563c697cd479853 (patch) | |
tree | 77b21ddbec4501e2cf04dafd9987a347d66e8cc2 /gdb/expprint.c | |
parent | a5d871ddaf2aa8462922ed25b0c0dc7f02128cb9 (diff) | |
download | binutils-669203174311c5be76744a879563c697cd479853.zip binutils-669203174311c5be76744a879563c697cd479853.tar.gz binutils-669203174311c5be76744a879563c697cd479853.tar.bz2 |
Change target_read_string API
This simplifies the target_read_string API a bit.
Note that some code was using safe_strerror on the error codes
returned by target_read_string. It seems to me that this is incorrect
(if it was ever correct, it must have been quite a long time ago).
gdb/ChangeLog
2020-06-15 Tom Tromey <tromey@adacore.com>
* windows-nat.c (windows_nat::handle_output_debug_string):
Update.
(windows_nat::handle_ms_vc_exception): Update.
* target.h (target_read_string): Change API.
* target.c (target_read_string): Change API.
* solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
Update.
* solib-frv.c (frv_current_sos): Update.
* solib-dsbt.c (dsbt_current_sos): Update.
* solib-darwin.c (darwin_current_sos): Update.
* linux-thread-db.c (inferior_has_bug): Update.
* expprint.c (print_subexp_standard): Update.
* ada-lang.c (ada_main_name, ada_tag_name_from_tsd)
(ada_exception_message_1): Update.
Diffstat (limited to 'gdb/expprint.c')
-rw-r--r-- | gdb/expprint.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/gdb/expprint.c b/gdb/expprint.c index 026b775..5427a56 100644 --- a/gdb/expprint.c +++ b/gdb/expprint.c @@ -241,18 +241,14 @@ print_subexp_standard (struct expression *exp, int *pos, case OP_OBJC_MSGCALL: { /* Objective C message (method) call. */ - gdb::unique_xmalloc_ptr<char> selector; - (*pos) += 3; nargs = longest_to_int (exp->elts[pc + 2].longconst); fprintf_unfiltered (stream, "["); print_subexp (exp, pos, stream, PREC_SUFFIX); - if (0 == target_read_string (exp->elts[pc + 1].longconst, - &selector, 1024, NULL)) - { - error (_("bad selector")); - return; - } + gdb::unique_xmalloc_ptr<char> selector + = target_read_string (exp->elts[pc + 1].longconst, 1024); + if (selector == nullptr) + error (_("bad selector")); if (nargs) { char *s, *nextS; |