CVS patchset: 4382
CVS date: 2000/12/29 19:25:38
--- /dev/null
+2000-12-29 Cristian Gafton <gafton@redhat.com>
+
+ * rpmmodule.c(handleDbResult): don't freak out when nothing matches;
+ return empty list
+
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;
}