From 1eba63835ea23cbae6059c076db985a47e39ce24 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sat, 12 Nov 2016 11:48:48 -0700 Subject: Change type of encoding argument to gdbpy_extract_lazy_string This changes gdbpy_extract_lazy_string's "encoding" argument to be a unique_xmalloc_ptr. I chose this rather than std::string because it can sometimes be NULL. 2017-01-10 Tom Tromey * python/py-prettyprint.c (print_string_repr, print_children): Update. * python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type of "encoding". * varobj.c (varobj_value_get_print_value): Update. * python/python-internal.h (gdbpy_extract_lazy_string): Update. --- gdb/python/py-prettyprint.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'gdb/python/py-prettyprint.c') diff --git a/gdb/python/py-prettyprint.c b/gdb/python/py-prettyprint.c index a4bdf87..fb3d9b1 100644 --- a/gdb/python/py-prettyprint.c +++ b/gdb/python/py-prettyprint.c @@ -301,15 +301,14 @@ print_string_repr (PyObject *printer, const char *hint, CORE_ADDR addr; long length; struct type *type; - char *encoding = NULL; + gdb::unique_xmalloc_ptr encoding; struct value_print_options local_opts = *options; - make_cleanup (free_current_contents, &encoding); gdbpy_extract_lazy_string (py_str, &addr, &type, &length, &encoding); local_opts.addressprint = 0; - val_print_string (type, encoding, addr, (int) length, + val_print_string (type, encoding.get (), addr, (int) length, stream, &local_opts); } else @@ -610,14 +609,13 @@ print_children (PyObject *printer, const char *hint, CORE_ADDR addr; struct type *type; long length; - char *encoding = NULL; + gdb::unique_xmalloc_ptr encoding; struct value_print_options local_opts = *options; - make_cleanup (free_current_contents, &encoding); gdbpy_extract_lazy_string (py_v, &addr, &type, &length, &encoding); local_opts.addressprint = 0; - val_print_string (type, encoding, addr, (int) length, stream, + val_print_string (type, encoding.get (), addr, (int) length, stream, &local_opts); } else if (gdbpy_is_string (py_v)) -- cgit v1.1