diff options
Diffstat (limited to 'gdb/python/py-value.c')
-rw-r--r-- | gdb/python/py-value.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c index f8bf17a..926a09c 100644 --- a/gdb/python/py-value.c +++ b/gdb/python/py-value.c @@ -896,7 +896,7 @@ valpy_call (PyObject *self, PyObject *args, PyObject *keywords) static PyObject * valpy_str (PyObject *self) { - char *s = NULL; + std::string s; PyObject *result; struct value_print_options opts; @@ -910,7 +910,7 @@ valpy_str (PyObject *self) common_val_print (((value_object *) self)->value, stb, 0, &opts, python_language); - s = ui_file_xstrdup (stb, NULL); + s = ui_file_as_string (stb); do_cleanups (old_chain); } @@ -920,8 +920,7 @@ valpy_str (PyObject *self) } END_CATCH - result = PyUnicode_Decode (s, strlen (s), host_charset (), NULL); - xfree (s); + result = PyUnicode_Decode (s.c_str (), s.length (), host_charset (), NULL); return result; } |