| Index: gdb/python/py-utils.c
|
| diff --git a/gdb/python/py-utils.c b/gdb/python/py-utils.c
|
| index 3579720674d6ab10fa9eb524247920baa4f84cd7..d5d0e431b55c545e9ef2c4a4394f685366c61b98 100644
|
| --- a/gdb/python/py-utils.c
|
| +++ b/gdb/python/py-utils.c
|
| @@ -139,7 +139,7 @@ unicode_to_target_string (PyObject *unicode_str)
|
| object converted to the target's charset. If an error occurs
|
| during the conversion, NULL will be returned and a python exception
|
| will be set. */
|
| -PyObject *
|
| +static PyObject *
|
| unicode_to_target_python_string (PyObject *unicode_str)
|
| {
|
| return unicode_to_encoded_python_string (unicode_str,
|
| @@ -373,3 +373,23 @@ gdb_py_int_as_long (PyObject *obj, long *result)
|
| *result = PyInt_AsLong (obj);
|
| return ! (*result == -1 && PyErr_Occurred ());
|
| }
|
| +
|
| +
|
| +
|
| +/* Generic implementation of the __dict__ attribute for objects that
|
| + have a dictionary. The CLOSURE argument should be the type object.
|
| + This only handles positive values for tp_dictoffset. */
|
| +
|
| +PyObject *
|
| +gdb_py_generic_dict (PyObject *self, void *closure)
|
| +{
|
| + PyObject *result;
|
| + PyTypeObject *type_obj = closure;
|
| + char *raw_ptr;
|
| +
|
| + raw_ptr = (char *) self + type_obj->tp_dictoffset;
|
| + result = * (PyObject **) raw_ptr;
|
| +
|
| + Py_INCREF (result);
|
| + return result;
|
| +}
|
|
|