Fix PR python/17981

PR python/17981 notes that gdb.breakpoints() returns None when there
are no breakpoints; whereas an empty list or tuple would be more in
keeping with Python and the documentation.

This patch fixes the bug by changing the no-breakpoint return to make
an empty tuple.

Built and regtested on x86-64 Fedora 23.

2016-05-23  Tom Tromey  <tom@tromey.com>

	PR python/17981:
	* python/py-breakpoint.c (gdbpy_breakpoints): Return a new tuple
	when there are no breakpoints.

2016-05-23  Tom Tromey  <tom@tromey.com>

	* python.texi (Basic Python): Document gdb.breakpoints return.

2016-05-23  Tom Tromey  <tom@tromey.com>

	PR python/17981:
	* gdb.python/py-breakpoint.exp (test_bkpt_basic): Add test for
	no-breakpoint case.
This commit is contained in:
Tom Tromey 2016-05-18 21:41:28 -06:00
parent 224f10c1ae
commit 1957f6b89f
6 changed files with 26 additions and 4 deletions

View file

@ -746,13 +746,13 @@ gdbpy_breakpoints (PyObject *self, PyObject *args)
PyObject *list, *tuple;
if (bppy_live == 0)
Py_RETURN_NONE;
return PyTuple_New (0);
list = PyList_New (0);
if (!list)
return NULL;
/* If iteratre_over_breakpoints returns non NULL it signals an error
/* If iterate_over_breakpoints returns non NULL it signals an error
condition. In that case abandon building the list and return
NULL. */
if (iterate_over_breakpoints (build_bp_list, list) != NULL)