int hy_possibilities_next_nevra(HyPossibilities iter, HyNevra *out_nevra) { if (iter->type != TYPE_NEVRA || iter->current == -1) return -1; HyForm form = iter->forms[iter->current]; while (form != _HY_FORM_STOP_) { iter->current++; *out_nevra = hy_nevra_create(); if (nevra_possibility(iter->subject, form, *out_nevra) == 0) { if (iter->sack == NULL) return 0; if (filter_real(*out_nevra, iter->sack, iter->flags)) return 0; } form = iter->forms[iter->current]; hy_nevra_free(*out_nevra); } return -1; }
static void nevra_dealloc(_NevraObject *self) { hy_nevra_free(self->nevra); Py_TYPE(self)->tp_free(self); }