/* Python interface to symbol tables.
- Copyright (C) 2008-2018 Free Software Foundation, Inc.
+ Copyright (C) 2008-2019 Free Software Foundation, Inc.
This file is part of GDB.
STPY_REQUIRE_VALID (self, symtab);
filename = symtab_to_filename_for_display (symtab);
- str_obj = host_string_to_python_string (filename);
+ str_obj = host_string_to_python_string (filename).release ();
return str_obj;
}
{
const char *producer = COMPUNIT_PRODUCER (cust);
- return host_string_to_python_string (producer);
+ return host_string_to_python_string (producer).release ();
}
Py_RETURN_NONE;
fullname = symtab_to_fullname (symtab);
- return host_string_to_python_string (fullname);
+ return host_string_to_python_string (fullname).release ();
}
/* Implementation of gdb.Symtab.is_valid (self) -> Boolean.
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);
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