fix handleDbResult so that it will return an empty list when nothing matches instead of delivering an exception
CVS patchset: 4382 CVS date: 2000/12/29 19:25:38
This commit is contained in:
parent
bc5ea0ac35
commit
aff441656c
|
@ -0,0 +1,5 @@
|
|||
2000-12-29 Cristian Gafton <gafton@redhat.com>
|
||||
|
||||
* rpmmodule.c(handleDbResult): don't freak out when nothing matches;
|
||||
return empty list
|
||||
|
|
@ -890,19 +890,16 @@ static PyObject * rpmdbNext(rpmdbObject * s, PyObject * args) {
|
|||
static PyObject * handleDbResult(rpmdbMatchIterator mi) {
|
||||
PyObject * list, *o;
|
||||
|
||||
if (mi == NULL) {
|
||||
PyErr_SetString(pyrpmError, "error reading from database");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
list = PyList_New(0);
|
||||
|
||||
/* XXX FIXME: unnecessary header mallocs are side effect here */
|
||||
while (rpmdbNextIterator(mi)) {
|
||||
PyList_Append(list, o=PyInt_FromLong(rpmdbGetIteratorOffset(mi)));
|
||||
Py_DECREF(o);
|
||||
if (mi != NULL) {
|
||||
while (rpmdbNextIterator(mi)) {
|
||||
PyList_Append(list, o=PyInt_FromLong(rpmdbGetIteratorOffset(mi)));
|
||||
Py_DECREF(o);
|
||||
}
|
||||
rpmdbFreeIterator(mi);
|
||||
}
|
||||
rpmdbFreeIterator(mi);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue