* python/py-frame.c (frapy_older, frapy_newer, gdbpy_newest_frame)

(gdbpy_selected_frame): Move object-construction code
	out of TRY_CATCH.
This commit is contained in:
Tom Tromey 2013-05-20 20:37:06 +00:00
parent aa36459a92
commit dcf8783234
2 changed files with 28 additions and 24 deletions

View File

@ -1,3 +1,9 @@
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-frame.c (frapy_older, frapy_newer, gdbpy_newest_frame)
(gdbpy_selected_frame): Move object-construction code
out of TRY_CATCH.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-arch.c (gdbpy_initialize_arch): Use

View File

@ -338,7 +338,7 @@ frame_info_to_frame_object (struct frame_info *frame)
static PyObject *
frapy_older (PyObject *self, PyObject *args)
{
struct frame_info *frame, *prev;
struct frame_info *frame, *prev = NULL;
volatile struct gdb_exception except;
PyObject *prev_obj = NULL; /* Initialize to appease gcc warning. */
@ -347,16 +347,17 @@ frapy_older (PyObject *self, PyObject *args)
FRAPY_REQUIRE_VALID (self, frame);
prev = get_prev_frame (frame);
if (prev)
prev_obj = (PyObject *) frame_info_to_frame_object (prev);
else
{
Py_INCREF (Py_None);
prev_obj = Py_None;
}
}
GDB_PY_HANDLE_EXCEPTION (except);
if (prev)
prev_obj = (PyObject *) frame_info_to_frame_object (prev);
else
{
Py_INCREF (Py_None);
prev_obj = Py_None;
}
return prev_obj;
}
@ -367,7 +368,7 @@ frapy_older (PyObject *self, PyObject *args)
static PyObject *
frapy_newer (PyObject *self, PyObject *args)
{
struct frame_info *frame, *next;
struct frame_info *frame, *next = NULL;
volatile struct gdb_exception except;
PyObject *next_obj = NULL; /* Initialize to appease gcc warning. */
@ -376,16 +377,17 @@ frapy_newer (PyObject *self, PyObject *args)
FRAPY_REQUIRE_VALID (self, frame);
next = get_next_frame (frame);
if (next)
next_obj = (PyObject *) frame_info_to_frame_object (next);
else
{
Py_INCREF (Py_None);
next_obj = Py_None;
}
}
GDB_PY_HANDLE_EXCEPTION (except);
if (next)
next_obj = (PyObject *) frame_info_to_frame_object (next);
else
{
Py_INCREF (Py_None);
next_obj = Py_None;
}
return next_obj;
}
@ -520,18 +522,16 @@ frapy_select (PyObject *self, PyObject *args)
PyObject *
gdbpy_newest_frame (PyObject *self, PyObject *args)
{
struct frame_info *frame;
PyObject *frame_obj = NULL; /* Initialize to appease gcc warning. */
struct frame_info *frame = NULL;
volatile struct gdb_exception except;
TRY_CATCH (except, RETURN_MASK_ALL)
{
frame = get_current_frame ();
frame_obj = frame_info_to_frame_object (frame);
}
GDB_PY_HANDLE_EXCEPTION (except);
return frame_obj;
return frame_info_to_frame_object (frame);
}
/* Implementation of gdb.selected_frame () -> gdb.Frame.
@ -540,18 +540,16 @@ gdbpy_newest_frame (PyObject *self, PyObject *args)
PyObject *
gdbpy_selected_frame (PyObject *self, PyObject *args)
{
struct frame_info *frame;
PyObject *frame_obj = NULL; /* Initialize to appease gcc warning. */
struct frame_info *frame = NULL;
volatile struct gdb_exception except;
TRY_CATCH (except, RETURN_MASK_ALL)
{
frame = get_selected_frame ("No frame is currently selected.");
frame_obj = frame_info_to_frame_object (frame);
}
GDB_PY_HANDLE_EXCEPTION (except);
return frame_obj;
return frame_info_to_frame_object (frame);
}
/* Implementation of gdb.stop_reason_string (Integer) -> String.