mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-29 15:18:34 +08:00
Remove some gotos from Python
This patch slightly refactors a couple of spots in the Python code to avoid some gotos. gdb/ChangeLog 2017-02-10 Tom Tromey <tom@tromey.com> * python/python.c (do_start_initialization): New function, from _initialize_python. (_initialize_python): Call do_start_initialization. * python/py-linetable.c (ltpy_iternext): Use explicit returns, not goto.
This commit is contained in:
@ -407,7 +407,10 @@ ltpy_iternext (PyObject *self)
|
||||
LTPY_REQUIRE_VALID (iter_obj->source, symtab);
|
||||
|
||||
if (iter_obj->current_index >= SYMTAB_LINETABLE (symtab)->nitems)
|
||||
goto stop_iteration;
|
||||
{
|
||||
PyErr_SetNone (PyExc_StopIteration);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
item = &(SYMTAB_LINETABLE (symtab)->item[iter_obj->current_index]);
|
||||
|
||||
@ -419,7 +422,10 @@ ltpy_iternext (PyObject *self)
|
||||
|
||||
/* Exit if the internal value is the last item in the line table. */
|
||||
if (iter_obj->current_index >= SYMTAB_LINETABLE (symtab)->nitems)
|
||||
goto stop_iteration;
|
||||
{
|
||||
PyErr_SetNone (PyExc_StopIteration);
|
||||
return NULL;
|
||||
}
|
||||
item = &(SYMTAB_LINETABLE (symtab)->item[iter_obj->current_index]);
|
||||
}
|
||||
|
||||
@ -427,10 +433,6 @@ ltpy_iternext (PyObject *self)
|
||||
iter_obj->current_index++;
|
||||
|
||||
return obj;
|
||||
|
||||
stop_iteration:
|
||||
PyErr_SetNone (PyExc_StopIteration);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Implementation of gdb.LineTableIterator.is_valid (self) -> Boolean.
|
||||
|
Reference in New Issue
Block a user