mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-02 12:37:05 +08:00
Remove more calls to xfree from Python
This changes the Python code to remove some more calls to xfree, in favor of self-managing data structures. Tested on x86-64 Fedora 28. gdb/ChangeLog 2018-12-27 Tom Tromey <tom@tromey.com> * python/python.c (python_interactive_command): Use std::string. (gdbpy_parameter): Likewise. * python/py-utils.c (unicode_to_encoded_string): Update comment. * python/py-symtab.c (salpy_str): Use PyString_FromFormat. * python/py-record-btrace.c (recpy_bt_insn_data): Use byte_vector. * python/py-objfile.c (objfpy_get_build_id): Use unique_xmalloc_ptr. * python/py-inferior.c (infpy_read_memory): Use unique_xmalloc_ptr. * python/py-cmd.c (gdbpy_parse_command_name): Use std::string.
This commit is contained in:
@ -220,10 +220,8 @@ stpy_get_linetable (PyObject *self, PyObject *args)
|
||||
static PyObject *
|
||||
salpy_str (PyObject *self)
|
||||
{
|
||||
char *s;
|
||||
const char *filename;
|
||||
sal_object *sal_obj;
|
||||
PyObject *result;
|
||||
struct symtab_and_line *sal = NULL;
|
||||
|
||||
SALPY_REQUIRE_VALID (self, sal);
|
||||
@ -232,13 +230,8 @@ salpy_str (PyObject *self)
|
||||
filename = (sal_obj->symtab == (symtab_object *) Py_None)
|
||||
? "<unknown>" : symtab_to_filename_for_display (sal_obj->symtab->symtab);
|
||||
|
||||
s = xstrprintf ("symbol and line for %s, line %d", filename,
|
||||
sal->line);
|
||||
|
||||
result = PyString_FromString (s);
|
||||
xfree (s);
|
||||
|
||||
return result;
|
||||
return PyString_FromFormat ("symbol and line for %s, line %d", filename,
|
||||
sal->line);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Reference in New Issue
Block a user