Exemple #1
0
static PyObject *
nevra_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
    _NevraObject *self = (_NevraObject*)type->tp_alloc(type, 0);
    if (self) {
	self->nevra = hy_nevra_create();
    }
    return (PyObject*)self;
}
Exemple #2
0
HyNevra
hy_nevra_clone(HyNevra nevra)
{
    HyNevra clone = hy_nevra_create();
    clone->name = g_strdup(nevra->name);
    clone->epoch = nevra->epoch;
    clone->version = g_strdup(nevra->version);
    clone->release = g_strdup(nevra->release);
    clone->arch = g_strdup(nevra->arch);
    return clone;
}
Exemple #3
0
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;
}